If you think the description won't change, you can hardcode it and store it in your Wine database.
I think it's bad practice and not flexible... what if down the road, you decide to change the descriptive text to something else? Now, you'll have to go back to your Wine database and do a Find and Replace.... instead of just changing one record in your lookup table.
Say, instead of calling it "inexpensive", down the road you decided to call it "cheap", or "best value".
You'd just have to make your decision on what you think is a good medium if you think 20 lookup tables is too much. For example, if quality will be always "low, medium, high", then maybe you don't need a lookup table for it. Just store the actual text "low", "medium", and "high" in the wine database and just provide those options in your form <select> statements. (Of course, if down the road, you decided you need a "premium" and "super luxury" quality, you'd have to modify your program and <select> statements, making source code changes, instead of just adding those 2 new options in your lookup table.)
Just find a happy balance you think you can live with, knowing the pros and cons of each approach.