It works because the data used is a raw data, and in this case the store creates a field with de name that the group expect. If you change the sample, creating two model's classes, load these classes, the field will not be created, and the error will occur.
Works, because you used a data source in the field "foodType", if create two models, and don't use de data source property, the grouping does not work.
When I have a free time, I will make the sample that isn't work.