There are namespaces i.e.
someNamespace:some tag
which, if you type the namespace and one letter and then autocomplete, hydrus will fetch all the tags in the namespace that start with that letter; if you type a tag without a namespace that is in a namespace, hydrus will still fetch the file.
For example, lets say you have the "hair" namespace which you populate with the tags "black," "long," and "braided." If you type "long" into the search bar, hydrus will get all the files with the tag long ignoring any namespace (so if you have the tags "hair:long," "long," and "legs:long" hydrus will return all of them), but if you type "hair:long" hydrus will only return that.
The only problem is that namespaces cannot be nested so you cannot have "hair:style:braids" as hydrus will just interprite it as the tag "style:braids" in the "hair" namespace. Which actual sounds like a bug as you wouldn't want the namespace delimiter inside of tags.
If your "subnamespaces" aren't abstract, you can use parent tags so that the children get the parent tag in the taging process.