Removing an ENUM item from a Lookup Field

Created an Enumeration using the CUBA studio and would like one or more of these items removed from the Lookup Field as a user selects different options from the Lookup Field. I need to remove ‘New’ from the Lookup Field on the loading of the Edit Screen and If a user selects “Old” from the list, I want to remove it from the list and refresh the Lookup Field only showing ‘Used’ and ‘Torn’. Any ideas?

public enum Status implements EnumClass<String>{
    NEW("New"),
    OLD("Old"),
    USED("Used"),
    TORN("Torn");

private String id;
    Status(String value) {
        this.id = value;
    }

    public String getId() {
        return id;
    }
}

Something like this:

public class FooEdit extends AbstractEditor<Foo> {

    @Named("fieldGroup.status")
    private LookupField statusField;

    @Override
    protected void postInit() {
        if (!PersistenceHelper.isNew(getItem()) && getItem().getStatus() == Status.NEW) {
            statusField.setOptionsList(Arrays.asList(Status.OLD, Status.USED, Status.TORN));
            statusField.setValue(Status.OLD);
        }
        statusField.addValueChangeListener(e -> {
            if (e.getValue() == Status.OLD) {
                statusField.setOptionsList(Arrays.asList(Status.USED, Status.TORN));
                statusField.setValue(Status.USED);
            }
        });
    }
}

Awesome, Thanks!