I used the solution above on a form I am working on. In the post Chris mentions that for the main category selection ("Meals") "You could make this more dynamic by using a lookup field if you want" in his post. So I went ahead and created a third column where the value of the choice field is calculated, since you cannot do a list lookup on a choice field.
I was able to pull the data but not the way I was expecting. I think I need to filter it but not sure how.
I have a main list called Web Delivery. The second list is called WDSubCategories. The "Request Type" is the main category choices. Someone chooses a Request Type which then filters the secondary list "Sub Category Type" which is a list lookup on the WDSubCategories list.
I can get it to work correctly when the Request Type choice field is in the main list (WebDelivery).

If I do a list lookup for the calculated field in the second list (so I don't have to maintain the choice field in 2 different lists), this is what is presented:

Would anyone know how to filter this so I only see 1 type each?