Les meilleures pratiques pour l'utilisation et la persistance des enums

J'ai vu plusieurs questions/débats sur la meilleure façon de gérer et de persister enum-comme valeurs (par exemple,La persistance de données adapté pour les enums , Comment faire pour conserver un enum à l'aide de NHibernate ), et j'aimerais demander à ce que le général consenus est.

En particulier:

  • Comment ces valeurs seront traitées dans le code?
  • Comment doivent-elles être conservées dans une base de données (en tant que texte/comme un certain nombre)?
  • Quels sont les avantages et les inconvénients des différentes solutions?

Remarque: j'ai déplacé les explications à l'origine inclus dans cette question, d'une réponse.