Localização Enum

Como você localiza enums para umListBoxFor onde várias opções são possíveis?

Por exemplo, umenum que contém funções:

public enum RoleType
{
    [Display(Description = "Administrator", ResourceType = typeof(Resource))]
    Administrator = 1,
    [Display(Description = "Moderator", ResourceType = typeof(Resource))]
    Moderator = 2,
    [Display(Description = "Webmaster", ResourceType = typeof(Resource))]
    Webmaster = 3,
    [Display(Description = "Guest", ResourceType = typeof(Resource))]
    Guest = 4,
    Etc.... = 5,
}

Eu vi isso feito comdropdownlist/selectlists. Mas existe uma maneira de fazer isso para uma lista de seleção múltipla?

[EDITAR]

É assim que eu gostaria de usá-lo, que é como funciona agora, mas não é traduzido em um idioma diferente:

var roles = from role r in Enum.GetValues(typeof(RoleType))
            select new
            {
               Id = (int)Enum.Parse(typeof(RoleType), r.ToString()),
               Name = r.ToString()
            };

searchModel.roles = new MultiSelectList(roles, "Id", "Name");

Nota: Eu renomei o enum de Role para RoleType.

questionAnswers(12)

yourAnswerToTheQuestion