A few things here:

1. Generally speaking, enum type values should be singular, unless it's a flags enum.  So "HandledAction" instead of "HandledActions".

2. I always prefix the enum value names with the enum name, and I would advise you to do so too.  Enum value names have no namespace or anything like that, so a) you can run into value name collisions easily, especially with an enum value name like "Count", and b) that helps people seeing instances of the enum value type elsewhere in the code better understand exactly where this value is being defined.  So HandledActionUp, HandledActionDown, etc.

3. Generally speaking, it's ill-advised to rely on enum values to start at 0 when you don't explicitly force them to do so.  I know that they *do* under the covers, but the whole idea behind uninitialized enum values is that they're supposed to be able to be used without worrying about what the underlying integer value is equal to.  I would recommend that you explicitly say "Up = 0, Down = 1," etc. in order to explicitly tell it to have those values, so then you'll know you'll be able to rely on them.