use an enum for data_type