Even relatively simple hierarchical tagging systems can get tricky for users to interact with. What sub-category belongs to which category again?
Cascading drop downs across multiple columns could require rebuilding the options many times with many network requests and vectors of potential issues.
- render all tags 1x (there aren't that many options in this use case)
- enforce hierarchy on client via disabling non-children