Я заполняю DropDownList в MVC 4 из enum, и я хочу заказать значения перечисления от самого большого до наименьшего. Однако, похоже, нет прямого подхода к этому. В настоящее время я использую этот код для добавления в словарь с ключом, являющимся идентификатором, а значение - отображаемым текстом:
var priorities = Enum.GetValues(typeof(Models.Priority)).OfType<Models.Priority>().ToList();
for (int i = priorities.Count - 1; i >= 0; i--)
{
    Models.Priority priority = priorities[i];
    prioritiesDictionary.Add((int)priority, "Priority " + ((int)priority).ToString());
}
Я не верю, что внесение значений enum в список и обратный цикл назад является наиболее эффективным методом. В перечислении всего четыре значения, но есть ли лучший способ выполнить операцию OrderBy для того, что возвращается из Enum.GetValues? Я знаю, что это может быть минимальным эффектом, влияющим на то, как я это делаю, но я хочу знать для больших перечислений.