Hmm. So instead of just giving a flat bonus and penalty under all circumstances, each one confers a situational bonus? I think I quite like that. It’s less obvious which one is the “best” for any given Pokémon, it helps to avoid the situation we have now where there are some that are just clearly far more useful than others, and it reduces the number of individual Pokémon who just get thrown out without a second thought because (e.g.) Impish is a garbage nature for Alakazam. My biggest concern is that I think it’d be tricky to come up with 25 of them and make them all roughly balanced (balanced enough so that for any given species there are at least five or six good choices that you can argue for). Other suggestions: Modest gets larger bonuses from stat boosting moves; Impish gets an accuracy bonus for moves in the “status” category; Lonely gets bonuses to everything when it’s the last Pokémon standing on its team.