I think to give you the best answer possible here, getting even more into your specific context would be necessary. I would want to probe further into the your particular subject matter, the different user personas in your community, how confident you are in their needs and behavior, whether you already have an active community, and if so, how large and active it is, etc.
In lieu of that, we’re generalizing, of course, and the advice you get may or may not be the best fit for you.
That said, given what you’ve shared so far, I think I would approach things this way:
- Create categories only for the use-cases at first (questions, events, etc); Use tags for the subject matter
- As subcommunities emerge that need their own space, create a top level category for them, create a top level “subcommunities” category (name of your choosing) and create subcategories for each of them – within these, there wouldn’t be use-case categories. The assumption is that these are more freeform discussions among emerging tightknit groups, who may be going deeper into a subject together while continuing to contribute in the other top level categories
- If those subcommunities grow to the point where they need their own use-case based categories, promote them to top level categories and duplicate the use-case based subcategories within them (questions, events, etc); nest the initial set of categories under a more general top level category to represent the “main” community.
- Continue to use tags to connect content across all these categories by subject matter