Sounds hard to define specific metrics to define how many tags are too many.
I think most tags should pass two basic tests:
- Reading the tag alone, am I able to identify some specific topic which the question will be targeting.
- There should not be another tag that already exists which covers the same exact same topic.
For example, in the Substrate StackExchange, we have tags frame and pallet. While these topics are very similar, I think that these two tags do have distinct topics they are trying to cover.
frame can include questions which are specific to the underlying macros that we create that help users write pallets, while pallet can be used to talk about existing pallets created by the community, or broader pallet development questions.
Another example is polkadot-js and polkadot-js-api. In this case, I think these two tags represent the same thing, and ideally an administrator would go and merge these two tags.
Finally, lets look at api or curiosity-killed-the-cat. The api tag is just way too broad. You cannot easily identify what a question would cover with this tag, and probably it shouldn't exist.
Similarly, curiosity-killed-the-cat is not a real topic or category of questions, and probably needs a more appropriate tag name or to be removed all together.