I'm trying to create a `switch` statement using the char index of a string and an Enum using [this](https://stackoverflow.com/questions/1851567/chow-to-use-enum-for-storing-string-constants) wrapper to get the value of the selected enum from a Description. It pretty much allows you to store a string to an enum value.

Here is my `if` statement:

```
if (msgComingFromFoo[1] == Convert.ToChar(Message.Code.FOO_TRIGGER_SIGNAL.EnumDescriptionToString()))
{
    //foo
}

```

and here is my `switch` statement:

```
switch (msgComingFromFoo[1])
{
    case Convert.ToChar(Message.Code.FOO_TRIGGER_SIGNAL.EnumDescriptionToString()):
        break;
}

```

Why is it accepting the `if` statement and not the `switch`? I tried converting it to a char since I'm selecting an index from a string, but unfortunately it didn't work.

**Update:**

Here is the `Message.Code` Enum

```
public class Message
{
    public enum Code
    {
        [Description("A")]
        FOO_TRIGGER_SIGNAL
    }
}

```

As you can see, I need the Description assigned to the enum not the enum value that is 0. Using `Message.Code.FOO_TRIGGER_SIGNAL.EnumDescriptionToString()` from the mentioned wrapper returns `A` not `0`

Error:

> 
> A Constant Value Is Expected
> 
> 
>