Having 1000 enum choices is going to end very poorly. You’re going to get charged massively for your inputs and the LLM will struggle the longer the context window is. There’s more likely than not some kind of pattern to these choices that your LLM doesn’t need an exhaustive list for.
In other words, if I asked a LLM what its favorite word is, I wouldn’t include the entire dictionary as enum values.
50 enum choices are better than 1000. But I’m not really sure how you can find 48 more classifications for your example.