Union value refactoring