You're only problem is that succ
has the type
succ :: Enum a => a -> a
So you need
succ (EB s) = EB . succ $ s
Just boxing it up again.
Also you'll probably want
instance Enum EnumBox where
toEnum = EB
fromEnum (EB i) = fromEnum i
As this is the minimum definition of completeness, since
succ = toEnum . succ . fromEnum