I had a similar problem. I didn't change it necessarily in my admin section but in my query. I suppose you could build a form that would let you set a variable and call the variable in the query but here's what I did.
$query2 = "SELECT *, FIND_IN_SET(column_name, 'PlatinumPlus,Platinum,Silver,Gold,Select') as sort_column FROM `Table` WHERE `active` = 'Yes' ORDER BY sort_column $limit";
Replace (rating,) with the name of the column that stores your values you want to sort by. If you wanted to build an admin section I would build a textbox that allows you to put in the way you want to search.
<input type="textbox" name="custSort">
Then when you go to do your queries on your pages, extract the order.
$query = "SELECT `custSort` from `table`";
$result = msyql_query($query);
$data = mysql_fetch_assoc($result);
$custSort = $data['custSort'];
Now you can use a variable in the query:
$query2 = "SELECT *, FIND_IN_SET(column_name, '$data') as sort_column FROM `Table` WHERE `active` = 'Yes' ORDER BY sort_column $limit";
Note that this code isn't tested as I have modified it for use with a variable instead of hard writing it. Hope it helps.