Поскольку значения ваших перечислений неявно целые:
public enum Enum1
{
ONE = 0,
TWO = 1
}
public enum Enum2
{
A = 0,
B = 1
}
Значения Enum1 неявно преобразуются в целые числа, а затем в значения Enum2. Если вы переопределили Enum1 следующим образом ...
public enum Enum1
{
ONE = 0,
TWO = 1,
THREE = 2,
}
... тогда не получится не вернет "A, B", потому что в Enum2 нет значения для целочисленного значения 2