Orden personalizado basado en valores Enum

Tengo esta Enum definida para roles:

enum role: {ordinary: 0, manager: 1, admin: 2}

Me gustaría ordenar una colección de objetos en el siguiente orden:

admin (first all admins)
ordinary (then all ordinaries)
manager (and lastly all managers)

¿Es esto posible en absoluto?

Respuestas a la pregunta(2)

Su respuesta a la pregunta