Просто вытащить категории для продуктов и для мил элегантно не получится при таком раскладе... либо джойнить, либо 2 запроса, я чет не вижу простых путей...
В категорию добавьте type которое будет содержать meal или product. При добавлении нового продукта будете выбирать категории, с типом продукт... Для еда с типом еда. При отдаче продукта, поле калории игнорируете...