Specify table data in code, reference objects public final class Descriptors {    
public static final EnumValueDescriptor TIME_SETTING = new EnumValueDescriptor(
            R.string.pref_label_time_setting, 
            Measures.TIME_SETTING_12, R.string.pref_time_setting_12,
            Measures.TIME_SETTING_24, R.string.pref_time_setting_24);

public static final EnumValueDescriptor MEASURE_BG = new EnumValueDescriptor(
        R.string.pref_label_bg, 
        Measures.BG_MMOL_L, R.string.measure_mmol_l,
        Measures.BG_MG_DL, R.string.measure_mg_dl);

public static final EnumValueDescriptor MEASURE_СH = new EnumValueDescriptor(
        R.string.pref_label_ch, 
        Measures.CH_G, R.string.measure_g,
        Measures.CH_EXCH, R.string.measure_exch);

    // Is there a better way to specify table data?
public static final NumericValueDescriptor TBG_MMOL_L = new NumericValueDescriptor(
        R.string.pref_label_target_blood_glucose,
        ValueFormat.ONE_SIGNIFICANT_DIGIT,
        0.0f,
        40.0f,
        0.1f,
        R.string.measure_mmol_l);

public static final NumericValueDescriptor TBG_MG_DL = new NumericValueDescriptor(
        R.string.pref_label_target_blood_glucose,
        ValueFormat.INT,
        0f,
        300f,
        1f,
        R.string.measure_mg_dl);

public static final NumericValueDescriptor CF_MMOL_L_U = new NumericValueDescriptor(
        R.string.pref_label_correction_factor,
        ValueFormat.ONE_SIGNIFICANT_DIGIT,
        0.1f,
        99.0f,
        0.1f,
        R.string.measure_mmol_l_u);

public static final NumericValueDescriptor CF_MG_DL_U = new NumericValueDescriptor(
        R.string.pref_label_correction_factor,
        ValueFormat.INT,
        1f,
        99f,
        1f,
        R.string.measure_mg_dl_u);

public static final NumericValueDescriptor MF_G_U = new NumericValueDescriptor(
        R.string.pref_label_meal_factor,
        ValueFormat.ONE_SIGNIFICANT_DIGIT,
        0.1f,
        99.0f,
        0.1f,
        R.string.measure_g_u);

public static final NumericValueDescriptor MF_U_EXCH = new NumericValueDescriptor(
        R.string.pref_label_meal_factor,
        ValueFormat.INT,            
        1f,
        99f,
        1f,
        R.string.measure_u_exch);

public static final int TYPE_TBG_MMOL_L = 0;
public static final int TYPE_TBG_MG_DL = 1;
public static final int TYPE_CF_MMOL_L_U = 2;
public static final int TYPE_CF_MG_DL_U = 3;
public static final int TYPE_MF_G_U = 4;
public static final int TYPE_MF_U_EXCH = 5;

    // Actually this is mapping of TYPE_TBG_MMOL_L  to an object, how better link constants above with objects?
public static final NumericValueDescriptor[] NUMERIC_DESCRIPTORS = {
    TBG_MMOL_L,
    TBG_MG_DL,
    CF_MMOL_L_U,
    CF_MG_DL_U,
    MF_G_U,
    MF_U_EXCH
};
 }
This class doesn't have any responsibilities, it just holds a group of static variables.  It is unclear what the purpose of these variables are.  I am sure there is a better way to achieve your goal as I doubt you actually need to be storing these details here.