Sounds like your problem could be solved with a file tagging system.
There are various applications that allow assigning tags to files but they may not fill all your requirements at once.
Tablacus Explorer is a desktop file manager for Windows operating systems.
Most features are implemented as addons in a plugin architecture. It has a Labels addon that allows tagging files with user defined labels. It allows searching, filtering and sorting by these labels.
In addition with Label Groups addon you can create tag hierarchies you can browse through in the menus.
Not sure if it allows showing or browsing files through a tree of tags directly, but you may be able to build one templates with Filter List or Favorites Bar.
TagSpaces is a web based File Browser and Note taking application with a tagging system at its base. Tags are not saved in any database, so there is no vendor lockin. However tags are saved in the filename, which may break other other uses that depend on file paths. Alternatively tags may be saved in sidecar files.
It can have multiple tag hierarchies for different organizational categories, and supports searching by tags.
XYPlorer is a commercial file browser and manager that has file tagging capabilities. Tags are saved in a local database. I don't think it has hierarchical tags, but it does allow filtering and searching by tags.