With strict type checking:
import Toybox.Application;
enum Foo {
Zero,
One,
Two,
Three,
}
function foo(x as Foo) as Void {}
function bar() as Void {
foo(0); // Fails, as expected
foo(Zero); // Works, as expected
foo(Zero as Foo); ...