Возможно ли использование уникального примитива или вроде того?
Читайте про обобщённые типы.
public abstract class UserProperty<T> {
  private String propertyName;
  private T propertyValue;

  public UserProperty(String propertyName, T propertyValue) {
    this.propertyName = propertyName;
    this.propertyValue = propertyValue;
  }
}

Гдето там нареализуете класс до нормально
public class UserPropertyString extends UserProperty<String>{
}
или
public class UserPropertyBoolean extends UserProperty<Boolean>{
}
и т.д.