public enum Key { Return, Enter = Return, }
のように Return と Enter に同じ値を割り当てたときに、XmlSerializer を使ってシリアライズするとどうなるか。試したところ、先に書かれたものを優先しているようです。
System.Windows.Input.Key とかをシリアライズすると Return と Enter や PageDown と Next など同じ値が割り当てられているので、Key.Enter と書いていてもシリアライズの結果は Return になってたりします。*1
でも、デシリアライズ時には Return と Enter のどちらでも受け付けてくれるので、内部でこっそりと仕様変更したときなど使えそうです。というか誤魔化しのために使いました(汗