Filtering a dropdown based on another column is not currently possible in Grist. A workaround for this is to create multiple linked tables. I walk through how to set this up on another post - check it out here:
I created an example in Grist for you at the link below:
It’s set up the same way as the other example with Countries and Cities but using the Type and Food options you mentioned above. When you select a Type, the Food table updates to Foods linked to that type. Then, select the Food. After making a selection in both tables, you can add a Purchase for that food. Just add a Consumer to the Purchase table and the Type and Food columns will auto-populate. Note that Type is a reference column but also a formula column. The Purchase table is set up to ‘Select By’ Food so we use the reference column Food to pull the Type for that food.