3 эконома, 14 комфорта, 9 бизнеса, 4 премиум.
Итого 3+14+9+4=30.
Теперь нумеруем каждый тип по отдельности (используем целочисленное деление с остатком).
Эконом - 1,2,3,31,32,33,61,62,63...
Комфорт - 4,5,..,16,17,34,35,...
Бизнес - 18,19,..25,26,48,49,...
Премиум - 27,28,29,30,57,58,...
И теперь сортируем при пагинации по этому номеру.
Оно, конечно, всё равно поплывёт, когда какой-то тип закончится - но хоть не с самого начала.
PS. Но вообще-то клиент, увидев на странице дикие скачки цен, и прыжки вверх-вниз между страницами, скорее всего закроет этот бред, чтобы мозг не поломался.