Hrm. Maybe split those 250 into smaller batches of similar categories and find out what your user request is using a cheaper / faster model to give it a finer-detailed category. That way you’re not sending the entire 250 each time even when you don’t need to send ALL of them likely?
Datasets are gold these days… especially clean/edited ones…