support the concept of value conversion and implement enum fallbacks based on it