Категории хранить в отдельной таблице по принципу Nested Set, таким образом решится вопрос со множественной вложенностью. (у yii2 у картика вроде есть решение для работы с Nested Set)
Далее таблица с транспортом, автомобили, мотоциклы всё вместе, если у одного элемента может быть одна категория, то в этой де таблице создаем столбец с категорией, если нет, то отдельная таблица для связей траснпорта и категорий. Также в этой таблице создаем столбцы только для общих полей, типа наименование, дата изготовления, мощность и т.д
Все атрибуты которые не являются общими, можно организовать по принципу EAV, тоесть сами создаете атрибут, присваиваете его категории, и для каждого элемента категории заполняете данный атрибут.