Это не экземпляр Enum из Prelude (см. import Prelude hiding (Enum(..))
в верхней части файла).
Это экземпляр Enum из Graphics.UI.SDL.Utilities , который принимает второй параметр:
class Enum a b | a -> b where
succ :: a -> a
pred :: a -> a
toEnum :: b -> a
fromEnum :: a -> b
enumFromTo :: a -> a -> [a]
Сравните с определением из прелюдии:
class Enum a where
succ :: a -> a
pred :: a -> a
toEnum :: Int -> a
fromEnum :: a -> Int
enumFrom :: a -> [a]
enumFromThen :: a -> a -> [a]
enumFromTo :: a -> a -> [a]
enumFromThenTo :: a -> a -> a -> [a]
-- comments and default definitions elided