Vechicle factory and enum