You're absolutely right but it would be much better if there is a sort method which takes a Role as a parameter.Your model decides which field it maps into which column.
That's what models do: they provide an abstract interface to data. their main job is to define what a row means and what a column means in terms of the data they are working on.
Cheers,
Bookmarks