I appreciate that "you can't. Ever." may be the response...which may be for technical or philosophical reasons...but I mention this here in the spirit of feedback.
I'd like to be able to attribute more than one category to a thread (and retrospectively add categories as a thread develops). I appreciate this is a 'how long will your piece of string be' problem. but it has advantages.
We are a community that follows a particular football club. We have 'club' discussions, but also specifically 'match' threads, club 'news' threads, but also we 'discuss' and share 'media' links. We also have these discussions about 'football' and also 'sport' in general. As a community we also have general discussions about 'media' 'news' and 'tech'.
So some 'news' might be club news, or general news, or general news of some sort that triggers a discussion, it might be news related to a 'match' or another 'club'.
To create categories with sufficient sub-categories to adequately differentiate all threads would lead to a lot of (sub)categories. It would also mean that searching a specific sub-category would exclude related events, that are categorized under a different main category, but otherwise have a related interest.
I would prefer to be able to assign multiple categories, and thereby eliminate sub-categories. If I could then search by single, or multiple, categories it would enable finding specific, and related, threads.
news about our club match: 'football' 'club' 'news' 'match'
news about another clubs match: 'football' 'news' 'match'
discussion about a match in another sport: 'sport' 'match' discuss'
All feature differently in searches for 'club' or 'football' or 'match' or 'news'. Searching for 'club' 'match' filters discussions/news/reports/ surrounding matches our club is involved in.
May not be possible or desirable, but that would be my personal best case. I could then have relatively few categories, but combine them in powerful ways, not excluding related threads, but adequately differentiating them.