Casting a int as a enum

I'm basically using this now.

void Class::SetColor(int newColorNum)
{
}

Then, you can call instance.SetColor(White); or instance.SetColor(4);.

Without the enum overloaded version you put. This seems to work if it's sent a enum or a int. Is this because a enum is like a definition of an integer? Is this correct?