Allow tags themselves to be tagged
This would happen directly on the tags page. This buys you faceted search for free.
You tag #john (your son), #jane (your daughter) and #wendy (your wife) as #family. Wherever one of your family members tags appeared one would also see the #family tag with some formatting variation to indicate it's derived (i.e. 0.8 opacity). This would enable filtering on #family to also return #john, #jane, and #wendy (effectively providing "or" logic).
The "List view options" would include "Hide derived tags" which, when checked, would caused the derived tags to be hidden just as completed items can be.
The benefit of derived tags is that it allows the user to develop an ontology, a prescribed way of marking things up and making meaning of them. It "keeps things simple" in that the feature can simply be ignored.
I work for several ministries in my church and so I have tags for #benevolence and #outreach, for example. I also do some things for the church directly and so use a #church tag. I find myself sometimes adding #church to items which I've already tagged with #benevolence or #outreach. That's because it's useful to filter by #church and still include #benevolence and #outreach which are part of that domain. With derived tags I wouldn't have to remember to do that.
I should be clear that adding #church directly should still be possible. That is a tag can be explicit or implicit.
It should be possible to tag a tag with several tags.
Derivations cascade. If I tagged #church with #faith, for example, then when I tag something as #outreach, #church and #faith would both be derived.
Each derived tag would get its color from the tag as defined on the tags page.
I’m sorry, making tags dependent/hierarchical would bring too much complication to the tool.
Probably, better search operators would rather solve your needs, please vote for https://checkvist.uservoice.com/forums/2121-checkvist-web/suggestions/2017839-allow-search-filter-by-tag-to-use-or-and-not instead