The system have a plain enum like this,

```
public enum SomeEnum : short
{ 
    Ok = 0,
    Missing = 17,
};

```

This enum are now into a situation where I need to mask some more information into it without change the appearence of the existing enum values. The enum will got some new values,

```
[Flags]
public enum SomeEnum : short
{ 
    Ok = 0,
    Missing = 17,
    Blocking = 18, // Values could be anything
    Low  = 19,     // Values could be anything
};

```

I was afraid there could be problem to the current enum usage. It appears that I'm right, but **I hope i'm proved wrong with your help**. The usage until today are built around `SomeEnum.Ok`. Also tomorrow, but the Ok need additional info. I need to mask the enum values without affect it's current behavior, which could came from any common reference;

```
someEnumVariable.ToString()
(int)someEnumVariable
someVar = SomeEnum.Ok
Enum.Parse(typeOf(SomeEnum), someString)

```

If I flag the enum with   

`var test = (SomeEnum.Ok | SomeEnum.Blocking);`   

Both flags can be founded i.e. `test.HasFlags(SomeEnum.Ok)` or `test.HasFlags(SomeEnum.Blocking)` but the enum represents as SomeEnum.Blocking, which aren't possible.

Any ideas?