Я думаю, вам придется отсортировать его в представлении, потому что если вы хотите, чтобы каждая группа имела различную сортировку, вы должны сделать это вручную. Единственный другой вариант - скопировать его в словарь или структуру списка, отсортировать и скопировать его в порядке, а затем вернуть его из контроллера ... хотя я даже не знаю, с чего начать.
Я не думаю, что сортировка в представлении является плохой формой, потому что это часть логики пользовательского интерфейса (или, в любом случае, потребностей пользовательского интерфейса) ... было бы плохой формой запрашивать данные в представлении и быть осторожным, чтобы не добавьте слишком много логики (я не знаю, о какой сложности вы говорите), но пока это только сортировка, я думаю, что все в порядке.
НТН.