Как создать список разделенный по классам?
ORDER BY klass, podklass отсортирует так что будут овощи, затем фрукты. А строить вот такую древовидную структуру MySQL не умеет, придется это делать вручную на PHP
у тебя не верна сама структура - сделай 4 таблицы: сущности(огурец, кабачок и т.д), свойства(цвет, тип), значения свойств(синий, красный, овощ) и наконец таблицу свойства сущностей: id сущности, id значения свойства.

Выбираешь значения свойств объединив с таблицей свойств и сущностей для получения имен.