|The trick here is to use the INDIRECT function and Named Ranges.|
In your first drop down (e.g. A1) you use your main categories:
In another list you put all of your "foods" and name that range "food"
The same for your list of desserts, beverages and snacks. Create the lists and name the ranges to match the proper category.
For your second drop down, the Source for the List under Data Validation is:
This will pull in the Named Range that matches the text in A1 and populate the dropdown with the list in that range.
P.S. Isn't dessert considered "food" ;-)