Nothing magical at all. An enum is basically a type wrapped around an int but the type itself is ECollisionChannel and the value is ECollisionChannel::ECC_PhysicsBody. It is like calling foo(1) or foo(2) not like calling foo(int). Maybe read up on enums and it will all make sense.