How to set enum DTO object using enum VO object?

How to convert one object to another? For example, I have 3 classes Car (equals to CarVO), CarDTO and CarFactory. The issue in that I can not set an object of CarDTO by an object of Car. Should I convert it to string or what? I would appreciate any help!

public class Car {
    private Long id;
    private String model;
    private Engine engine;
    private Integer manufacturedYear;

    private enum Engine {Petrol, Diesel, Gas}

    // Constructor, setters & getters

}

public class CarDTO {
    private Long id;
    private String model;
    private Engine engine;
    private Integer manufacturedYear;

    private enum Engine {Pertol, Diesel, Gas}

    // Constructor, setters & getters

}

public enum CarFactory {
    INSTANCE;

    CarFactory() {}

    public static CarFactory getInstance() {return INSTANCE;}

    public CarDTO createCarDTO(Car car) {
        CarDTO carDTO = new CarDTO();
        carDTO.setId(car.getId());
        carDTO.setModel(car.getModel());
        carDTO.setEngine(car.getEngine()); // Here is an issue 
        carDTO.setManufacturedYear(car.getManufacturedYear());
        return carDTO;
    }
}
%d bloggers like this: