I reiterate @VeitB’s suggestion that you should really look into embeddings for this, especially if you are interested in a quick and cheap approach.
Have a look at this thread, which also provides some high level guidance on how to achieve this for a categorization task:
The other option that will likely yield very good results - although it is definitely more expensive than an embedding option - would be a fine-tuned gpt-3.5 model. I have used this approach quite a bit in the past and generally yielded very good results. That said, embeddings really are the best all-around solution.