There are two issues, the way I see it:
1. Would you want to limit the number of keywords that gather tokens, as you proposed. I agree with Progressor that this is not a good idea.
2. Because of space restrictions on the game screen, and maybe because one wouldn't want to have a too cluttered screen, one would have to limit the number of visible keyword though. The issue is how to go about that, what keywords to show.
A separate issue concerns the question if this token overview should be visible to oneself only or also to the opponent. My take on it is that, not only would that clutter the gamescreen even further, but it isn't really necessary for the opponent to know in advance when the tokens are going to be released. The way I see it, is that the token count overview is just there as a support for the player.
Now, back to the issue of which keywords to display and how to implement it, I still think that my proposed option #3 is the best. Your started work, which is in a line with my ideas for option #2, would mean that only limited number of keywords are visible during the whole game. If indeed one has a "mixed" deck with a lot of different keywords, even if they would still all be counted, one wouldn't be able to decide beforehand which ones to display and which ones not.
My own option #1 would solve that problem, as during a game one could switch back and forth between different keywords, but this would mean such a hassle that in fact that would be totally impractical and a lot more difficult to code as well.
My option #3 solves all of these issues. At each turn of the game, a player's accumulated token count is displayed in descending order, limiting it to 3 (or 4 or 5, whatever) keywords. This way you wouldn't have to add any extra dbase fields to the deck, players wouldn't have to select or choose anything at any time, and at all times players have the information available that matters, which is which keyword tokens are close to getting released. With a list of 3 (to 5) for most decks this would show ALL relevant information needed. Someone who likes to base a deck around the Rainbow Dragon is not really that much interested in token accumulation and release, but more on diversity, but still even such a deck would show a slow accumulation of certain keywords over time, enough to be able to use that information and time a token release accordingly.