wrap_c: enum type needs to support Union because this arg might be None