Fix EnumAttribute
Fix EnumAttribute

The current implementation uses `EnumDescriptor::value(int)` to get the enum value.
However, the number of enum may not be the same as the index, for example:

```
enum SfpModuleCaps {
  SFP_MODULE_CAPS_UNKNOWN = 0;
  SFP_MODULE_CAPS_F_100   = 1;
  SFP_MODULE_CAPS_F_1G    = 2;
  SFP_MODULE_CAPS_F_10G   = 4;
  SFP_MODULE_CAPS_F_40G   = 8;
  SFP_MODULE_CAPS_F_100G  = 16;
}
```

The parameter of EnumDescriptor::value(int) should be [0, 6). Or it causes the program crash

This problem can be resolved by using `EnumDescriptor::FindValueByNumber(int)`

Fix #145

stratum/stratum,stratum/stratum,stratum/stratum,stratum/stratum,stratum/stratum,stratum/stratum