using System;

namespace Shared.Metrology;

public static class ColumnGet
{

    public static string GetDiplayName(this Column column)
    {
        string results = column switch
        {
            //case Column._8in_Total_Warp_Verification: results = "8in Total Warp Verification"; break;
            //case Column.AFM_Monthly_Y: results = "AFM-Monthly Y"; break;
            //case Column.AFM_Monthly: results = "AFM_Monthly"; break;
            Column.AFM_Pit_Count => "AFM Pit Count",
            Column.AFM_Roughness => "AFM Roughness",
            //case Column.Adder_Bin_1: results = "Adder Bin 1"; break;
            //case Column.Adder_Bin_2: results = "Adder Bin 2"; break;
            //case Column.Adder_Bin_3: results = "Adder Bin 3"; break;
            //case Column.Adder_Bin_4: results = "Adder Bin 4"; break;
            //case Column.Adder_Bin_5: results = "Adder Bin 5"; break;
            //case Column.Adder_Bin_6: results = "Adder Bin 6"; break;
            //case Column.Adder_Bin_9: results = "Adder Bin 9"; break;
            Column.Al_B_B_WTAVG => "Al% B.B. WTAVG",
            Column.Al_B_B_ => "Al% B.B.",
            Column.Al_Barrier_WTAVG => "Al% Barrier WTAVG",
            Column.Al_Barrier => "Al% Barrier",
            Column.Al_SLS_WTAVG => "Al% SLS WTAVG",
            Column.Al_SLS => "Al% SLS",
            Column.Al_TL1_WTAVG => "Al% TL1 WTAVG",
            Column.Al_TL1 => "Al% TL1",
            Column.Al_TL2_WTAVG => "Al% TL2 WTAVG",
            //case Column.BV_Resistance: results = "BV Resistance"; break; //BV Monthly Verification
            Column.BandEdge_V => "BandEdge_V",
            Column.BandEdge_V_XY => "BandEdge_V_XY",
            Column.BandEdge_nm => "BandEdge_nm",
            Column.Barrier_Composition_RPM_XY => "Barrier_Composition_RPM_XY",
            Column.Bow_Calibration => "Bow Calibration",
            Column.Bow_Range => "Bow Range",
            Column.Bow => "Bow",
            Column.BowCenter => "BowCenter",
            Column.BowX => "BowX",
            Column.BowY => "BowY",
            Column.Breakdown_Voltage_Edge => "Breakdown Voltage - Edge",
            Column.Breakdown_VoltageMiddle => "Breakdown Voltage - Middle",
            Column.Breakdown_Voltage => "Breakdown Voltage",
            Column.CV_C_at_10V => "CV C at -10V",
            Column.CV_Nd_Min => "CV Nd Min",
            //case Column.Candela_Large_LPD_Quarterly: results = "Candela Large LPD Quarterly"; break;
            //case Column.Candela_Medium_LPD_Quarterly: results = "Candela Medium LPD Quarterly"; break;
            //case Column.Candela_Small_LPD_Quarterly: results = "Candela Small LPD Quarterly"; break;
            //case Column.Candela_Total_Quarterly: results = "Candela Total Quarterly"; break;
            Column.Candela_102_83nm => "102-83nm",
            Column.Candela_1_1um => "1.1um",
            Column.Candela_496nm => "496nm",
            Column.Candela_600nm => "600nm",
            Column.Candela_8620_Small => "Candela 8620 Small",
            Column.Candela_Crack_Verification => "Crack Verification",
            Column.Candela_Cracking => "Candela Cracking",
            Column.Candela_Cracking_Acceptable => "Candela Cracking Acceptable",
            Column.Candela_Crater => "Candela Crater",
            Column.Candela_Crater_Verification => "Crater verification",
            Column.Candela_Haze => "Candela Haze",
            Column.Candela_LPD_Large => "Candela LPD Large",
            Column.Candela_LPD_Medium => "Candela LPD Medium",
            Column.Candela_LPD_Small => "Candela LPD Small",
            Column.Candela_Large_Verification => "Large Verification",
            Column.Candela_Medium_Verification => "Medium Verification",
            Column.Candela_Pits => "Candela Pits",
            Column.Candela_Pits_Verification => "Pits verification",
            Column.Candela_SPE => "Candela SPE",
            Column.Candela_SPE_Verification => "SPE verification",
            Column.Candela_Slip => "Candela Slip",
            Column.Candela_Small_Verification => "Small Verification",
            Column.Candela_Spirals => "Candela Spirals",
            Column.Candela_Spirals_Verification => "Candela Spirals Verification",
            Column.Candela_Total_Defects => "Candela Total Defects",
            Column.Candela_Total_PSL => "Candela Total PSL",
            Column.Candela__1_1um => ">1.1um",
            //case Column.Comment: results = "Comment"; break;
            //case Column.Conductivity: results = "Conductivity"; break;
            Column.Contact_Symmetry => "Contact Symmetry",
            //case Column.Cracking_verification: results = "Cracking verification"; break;
            //case Column.Crater_verification: results = "Crater verification"; break;
            Column.Date => "Date",
            Column.Denton_Crystal_Life => "Denton_Crystal_Life",
            Column.Denton_Current_AVG => "Denton_Current_AVG",
            Column.Denton_Current_STDEV => "Denton_Current_STDEV",
            Column.Denton_Deposition_Power_AVG => "Denton_Deposition_Power_AVG",
            Column.Denton_Deposition_Power_STDEV => "Denton_Deposition_Power_STDEV",
            Column.Denton_Deposition_Rate_AVG => "Denton_Deposition_Rate_AVG",
            Column.Denton_Deposition_Rate_STDEV => "Denton_Deposition_Rate_STDEV",
            Column.Denton_Gun_Pocket => "Denton_Gun_Pocket",
            Column.Denton_Pumpdown_Time => "Denton_Pumpdown_Time",
            Column.Denton_Voltage_AVG => "Denton_Voltage_AVG",
            Column.Denton_Voltage_STDEV => "Denton_Voltage_STDEV",
            Column.Employee => "Employee",
            Column.Epi_Thickness_Mean => "Epi Thickness Mean",
            Column.Epi_Thickness_Mean_XY => "Epi Thickness Mean_XY",
            Column.Epi_Thickness_Std_Dev_ => "Epi Thickness Std Dev %",
            Column.FWHM_006_WTAVG => "FWHM 006 WTAVG",
            Column.FWHM_006 => "FWHM 006",
            Column.FWHM_105_WTAVG => "FWHM 105 WTAVG",
            Column.FWHM_105 => "FWHM 105",
            Column.Hall_Rs => "Hall Rs",
            Column.Hall_Mobility_verif_sample => "Hall_Mobility_verif_sample",
            Column.Hall_Ns_verif_sample => "Hall_Ns_verif_sample",
            Column.Hall_Rs_verif_sample => "Hall_Rs_verif_sample",
            Column.Job => "Job",
            Column.LEI_RS_Average_value => "LEI RS Average value",
            Column.LEI_RS_Maximum_value => "LEI RS Maximum value",
            Column.LEI_RS_Minimum_value => "LEI RS Minimum value",
            Column.LEI_RS_STDEV => "LEI RS STDEV",
            Column.LEI_RS_STDEV_ => "LEI RS STDEV%",
            //case Column.Large_Adder_Sum: results = "Large Adder Sum"; break;
            Column.Lot => "Lot",
            //case Column.Medium_Adder_Sum: results = "Medium Adder Sum"; break;
            Column.Microscope_Center_5x => "Microscope Center 5x",
            Column.Microscope_Center_50x => "Microscope Center 50x",
            Column.Microscope_Middle_5x => "Microscope Middle 5x",
            Column.Microscope_Middle_50x => "Microscope Middle 50x",
            Column.Microscope_Edge_5x => "Microscope Edge 5x",
            Column.Microscope_Edge_50x => "Microscope Edge 50x",
            Column.Mobility_Verification => "Mobility Verification",
            Column.Mobility => "Mobility",
            Column.Ns_Verification => "Ns Verification",
            Column.PL_Edge_Wavelength => "PL Edge Wavelength",
            Column.PL_Ratio => "PL Ratio",
            Column.PR_Barrier_Composition => "PR Barrier Composition",
            Column.PR_Peak => "PR Peak",
            Column.Part => "Part",
            //case Column.Particles_verification: results = "Particles verification"; break;
            //case Column.Pits_verification: results = "Pits verification"; break;
            //case Column.Pocket: results = "Pocket"; break;
            //case Column.Post_Bin_1: results = "Post Bin 1"; break;
            //case Column.Post_Bin_2: results = "Post Bin 2"; break;
            //case Column.Post_Bin_3: results = "Post Bin 3"; break;
            //case Column.Post_Bin_4: results = "Post Bin 4"; break;
            //case Column.Post_Bin_5: results = "Post Bin 5"; break;
            //case Column.Post_Bin_6: results = "Post Bin 6"; break;
            //case Column.Post_Bin_9: results = "Post Bin 9"; break;
            //case Column.Pre_Bin_1: results = "Pre Bin 1"; break;
            //case Column.Pre_Bin_2: results = "Pre Bin 2"; break;
            //case Column.Pre_Bin_3: results = "Pre Bin 3"; break;
            //case Column.Pre_Bin_4: results = "Pre Bin 4"; break;
            //case Column.Pre_Bin_5: results = "Pre Bin 5"; break;
            //case Column.Pre_Bin_6: results = "Pre Bin 6"; break;
            //case Column.Pre_Bin_9: results = "Pre Bin 9"; break;
            Column.Process => "Process",
            //case Column.RPM_verif_Thickness_1: results = "RPM_verif_Thickness_1"; break;
            //case Column.RPM_verif_Thickness_2: results = "RPM_verif_Thickness_2"; break;
            //case Column.RPM_verif_Thickness_3: results = "RPM_verif_Thickness_3"; break;
            //case Column.RPM_verif_Thickness_Average: results = "RPM_verif_Thickness_Average"; break;
            //case Column.RTA_oxide_Thk_Change: results = "RTA oxide Thk Change"; break;
            //case Column.RTA_oxide_post_anneal_Thk: results = "RTA oxide post-anneal Thk"; break;
            //case Column.RTA_oxide_pre_anneal_Thk: results = "RTA oxide pre-anneal Thk"; break;
            Column.Recipe => "Recipe",
            //case Column.Resistivity_2_ohm_cm: results = "Resistivity 2 ohm cm"; break; //LEI Weekly Verification
            //case Column.Resistivity_600_ohm_cm: results = "Resistivity 600 ohm cm"; break; //LEI Weekly Verification
            Column.Rs_verification => "Rs verification",
            Column.Rs_verif_100kohm => "Rs_verif_100kohm",
            Column.Rs_verif_10ohm => "Rs_verif_10ohm",
            Column.Rs_verif_1kohm => "Rs_verif_1kohm",
            Column.SID => "SID",
            Column.SL_Period_WTAVG => "SL Period WTAVG",
            Column.SL_Period => "SL Period",
            //case Column.SPE_verification: results = "SPE verification"; break;
            //case Column.Sample_ID: results = "Sample ID"; break;
            Column.Sheet_Concentration => "Sheet Concentration",
            //case Column.Size: results = "Size"; break;
            //case Column.Small_Adder_Sum: results = "Small Adder Sum"; break;
            //case Column.Spirals_verification: results = "Spirals verification"; break;
            Column.Time => "Time",
            Column.Tool_ID => "Tool ID",
            //case Column.Total_LPD_Adder: results = "Total LPD Adder"; break;
            //case Column.Total_Verification: results = "Total Verification"; break;
            Column.Total_Warp_Calibration => "Total Warp Calibration",
            Column.UV_Broken => "UV Broken",
            Column.UV_Chipping => "UV Chipping",
            Column.UV_Cracking_0_3mm_ => "UV Cracking (0-3mm)",
            Column.UV_Cracking_3_7mm_ => "UV Cracking (3-7mm)",
            Column.UV_Cracking_7mm_ => "UV Cracking (>7mm)",
            Column.UV_Crazing => "UV Crazing",
            Column.UV_Crazing_Acceptable => "UV Crazing Acceptable",
            Column.UV_FULL_Characterization_Wafer => "UV FULL Characterization Wafer",
            Column.UV_Haze_count_ => "UV Haze (count)",
            Column.UV_LIGHT_Characterization_Wafer => "UV LIGHT Characterization Wafer",
            Column.UV_Non_rotation => "UV Non-rotation",
            Column.UV_Other => "UV Other",
            Column.UV_Scratch_count_ => "UV Scratch (count)",
            Column.UV_Slip_count_ => "UV Slip (count)",
            Column.UV_True_Haze => "UV True Haze",
            Column.UV_True_Haze_Acceptable => "UV True Haze Acceptable",
            Column.UV_SPE_1mm_count => "UV-SPE (>1mm) count",
            Column.UV_SPE_count_ => "UV-SPE (count)",
            Column.Verification_Contact_Symmetry => "Verification Contact Symmetry",
            Column.Vp_Pinch_Off_Voltage => "Vp Pinch Off Voltage",
            Column.Wafer_ID => "Wafer ID",
            //case Column.Wafer_Pocket: results = "Wafer Pocket"; break;
            Column.Wafer_Region => "Wafer Region",
            Column.Wafer_Scribe => "Wafer Scribe",
            Column.WaferPocket_Candela => "WaferPocket_Candela",
            Column.WaferPocket_Warp => "WaferPocket_Warp",
            Column.WaferPosition_CV => "WaferPosition_CV",
            Column.WaferPosition_BV => "WaferPosition_BV",
            Column.WaferPosition_Hall => "WaferPosition_Hall",
            Column.WaferPosition_PR => "WaferPosition_PR",
            Column.Warp => "Warp",
            Column.X_Coord => "X-Coord",
            Column.XRD_2_Theta_Peak_002 => "XRD 2 Theta Peak 002",
            Column.XRD_2_Theta_Peak_101 => "XRD 2 Theta Peak 101",
            Column.XRD_2_Theta_Position => "XRD 2-Theta Position",
            Column.XRD_2_Theta_Position_Si_1 => "XRD 2-Theta Position Si 1",
            Column.XRD_2_Theta_Position_Si_2 => "XRD 2-Theta Position Si 2",
            Column.XRD_2_Theta_Position_Si_3 => "XRD 2-Theta Position Si 3",
            Column.XRD_Peak_002_Intensity => "XRD Peak 002 Intensity",
            Column.XRD_Peak_101_Intensity => "XRD Peak 101 Intensity",
            Column.XRD_Weekly_AL_Center => "XRD Weekly AL% Center",
            Column.XRD_Weekly_Back_Barrier_Al_ => "Back Barrier Al%",
            Column.XRD_Weekly_Barrier_Al_ => "Barrier Al%",
            Column.XRD_Weekly_FWHM_002 => "XRD Weekly FWHM 002",
            Column.XRD_Weekly_FWHM_101 => "XRD Weekly FWHM 101",
            Column.XRD_Weekly_FWHM_105 => "XRD Weekly FWHM 105",
            Column.XRD_Weekly_Fringe_thick_0_0_ => "XRD Weekly Fringe thick (0,0)",
            Column.XRD_Weekly_Fringe_thick_48_48_ => "XRD Weekly Fringe thick (48,48)",
            Column.XRD_Weekly_Intensity => "XRD Weekly Intensity",
            Column.XRD_Weekly_Super_Lattice_Al_ => "Super Lattice Al%",
            Column.XRD_Weekly_Super_Lattice_period => "Super Lattice period",
            Column.XRD_Weekly_Super_Lattice_tks => "Super Lattice tks",
            Column.XRR_Thickness_nm_WTAVG => "XRR Thickness (nm) WTAVG",
            Column.XRR_Thickness_nm_ => "XRR Thickness (nm)",
            Column.Y_Coord => "Y-Coord",
            Column.YellowBand_Power_mW_ => "YellowBand_Power (mW)",
            Column.YellowBand_V => "YellowBand_V",
            Column.YellowBand_V_XY => "YellowBand_V_XY",
            Column.YellowBand_nm => "YellowBand_nm",
            //case Column.pH: results = "pH"; break;
            Column.Ag => "Ag",
            Column.Al => "Al",
            Column.As => "As",
            Column.Au => "Au",
            Column.B => "B",
            Column.Ba => "Ba",
            Column.Ca => "Ca",
            Column.Ce => "Ce",
            Column.Co => "Co",
            Column.Cr => "Cr",
            Column.Cu => "Cu",
            Column.Fe => "Fe",
            Column.Ga => "Ga",
            Column.Ge => "Ge",
            Column.Hf => "Hf",
            Column.K => "K",
            Column.Li => "Li",
            Column.Mg => "Mg",
            Column.Mn => "Mn",
            Column.Mo => "Mo",
            Column.Na => "Na",
            Column.Ni => "Ni",
            Column.P => "P",
            Column.Pb => "Pb",
            Column.Sn => "Sn",
            Column.Ta => "Ta",
            Column.Ti => "Ti",
            Column.W => "W",
            Column.Y => "Y",
            Column.Zn => "Zn",
            _ => throw new Exception(),
        };
        return results;
    }

    public static Description.Param GetParam(this Column column)
    {
        Description.Param results = column switch
        {
            //case Column._8in_Total_Warp_Verification: results = Description.Param.String; break;
            //case Column.AFM_Monthly_Y: results = Description.Param.String; break;
            //case Column.AFM_Monthly: results = Description.Param.String; break;
            Column.AFM_Pit_Count => Description.Param.String,
            Column.AFM_Roughness => Description.Param.String,
            //case Column.Adder_Bin_1: results = Description.Param.String; break;
            //case Column.Adder_Bin_2: results = Description.Param.String; break;
            //case Column.Adder_Bin_3: results = Description.Param.String; break;
            //case Column.Adder_Bin_4: results = Description.Param.String; break;
            //case Column.Adder_Bin_5: results = Description.Param.String; break;
            //case Column.Adder_Bin_6: results = Description.Param.String; break;
            //case Column.Adder_Bin_9: results = Description.Param.String; break;
            Column.Al_B_B_WTAVG => Description.Param.String,
            Column.Al_B_B_ => Description.Param.String,
            Column.Al_Barrier_WTAVG => Description.Param.String,
            Column.Al_Barrier => Description.Param.String,
            Column.Al_SLS_WTAVG => Description.Param.String,
            Column.Al_SLS => Description.Param.String,
            Column.Al_TL1_WTAVG => Description.Param.String,
            Column.Al_TL1 => Description.Param.String,
            Column.Al_TL2_WTAVG => Description.Param.String,
            //case Column.BV_Resistance: results = Description.Param.String; break;
            Column.BandEdge_V => Description.Param.String,
            Column.BandEdge_V_XY => Description.Param.String,
            Column.BandEdge_nm => Description.Param.String,
            Column.Barrier_Composition_RPM_XY => Description.Param.String,
            Column.Bow_Calibration => Description.Param.String,
            Column.Bow_Range => Description.Param.String,
            Column.Bow => Description.Param.String,
            Column.BowCenter => Description.Param.String,
            Column.BowX => Description.Param.String,
            Column.BowY => Description.Param.String,
            Column.Breakdown_Voltage_Edge => Description.Param.String,
            Column.Breakdown_VoltageMiddle => Description.Param.String,
            Column.Breakdown_Voltage => Description.Param.String,
            Column.CV_C_at_10V => Description.Param.String,
            Column.CV_Nd_Min => Description.Param.String,
            //case Column.Candela_Large_LPD_Quarterly: results = Description.Param.String; break;
            //case Column.Candela_Medium_LPD_Quarterly: results = Description.Param.String; break;
            //case Column.Candela_Small_LPD_Quarterly: results = Description.Param.String; break;
            //case Column.Candela_Total_Quarterly: results = Description.Param.String; break;
            Column.Candela_102_83nm => Description.Param.String,
            Column.Candela_1_1um => Description.Param.String,
            Column.Candela_496nm => Description.Param.String,
            Column.Candela_600nm => Description.Param.String,
            Column.Candela_8620_Small => Description.Param.String,
            Column.Candela_Crack_Verification => Description.Param.String,
            Column.Candela_Cracking => Description.Param.String,
            Column.Candela_Cracking_Acceptable => Description.Param.String,
            Column.Candela_Crater => Description.Param.String,
            Column.Candela_Crater_Verification => Description.Param.String,
            Column.Candela_Haze => Description.Param.String,
            Column.Candela_LPD_Large => Description.Param.String,
            Column.Candela_LPD_Medium => Description.Param.String,
            Column.Candela_LPD_Small => Description.Param.String,
            Column.Candela_Large_Verification => Description.Param.String,
            Column.Candela_Medium_Verification => Description.Param.String,
            Column.Candela_Pits => Description.Param.String,
            Column.Candela_Pits_Verification => Description.Param.String,
            Column.Candela_SPE => Description.Param.String,
            Column.Candela_SPE_Verification => Description.Param.String,
            Column.Candela_Slip => Description.Param.String,
            Column.Candela_Small_Verification => Description.Param.String,
            Column.Candela_Spirals => Description.Param.String,
            Column.Candela_Spirals_Verification => Description.Param.String,
            Column.Candela_Total_Defects => Description.Param.String,
            Column.Candela_Total_PSL => Description.Param.String,
            Column.Candela__1_1um => Description.Param.String,
            //case Column.Comment: results = Description.Param.String; break;
            //case Column.Conductivity: results = Description.Param.String; break;
            Column.Contact_Symmetry => Description.Param.String,
            //case Column.Cracking_verification: results = Description.Param.String; break;
            //case Column.Crater_verification: results = Description.Param.String; break;
            Column.Date => Description.Param.String,
            Column.Denton_Crystal_Life => Description.Param.String,
            Column.Denton_Current_AVG => Description.Param.String,
            Column.Denton_Current_STDEV => Description.Param.String,
            Column.Denton_Deposition_Power_AVG => Description.Param.String,
            Column.Denton_Deposition_Power_STDEV => Description.Param.String,
            Column.Denton_Deposition_Rate_AVG => Description.Param.String,
            Column.Denton_Deposition_Rate_STDEV => Description.Param.String,
            Column.Denton_Gun_Pocket => Description.Param.String,
            Column.Denton_Pumpdown_Time => Description.Param.String,
            Column.Denton_Voltage_AVG => Description.Param.String,
            Column.Denton_Voltage_STDEV => Description.Param.String,
            Column.Employee => Description.Param.String,
            Column.Epi_Thickness_Mean => Description.Param.String,
            Column.Epi_Thickness_Mean_XY => Description.Param.String,
            Column.Epi_Thickness_Std_Dev_ => Description.Param.String,
            Column.FWHM_006_WTAVG => Description.Param.String,
            Column.FWHM_006 => Description.Param.String,
            Column.FWHM_105_WTAVG => Description.Param.String,
            Column.FWHM_105 => Description.Param.String,
            Column.Hall_Rs => Description.Param.String,
            Column.Hall_Mobility_verif_sample => Description.Param.String,
            Column.Hall_Ns_verif_sample => Description.Param.String,
            Column.Hall_Rs_verif_sample => Description.Param.String,
            Column.Job => Description.Param.String,
            Column.LEI_RS_Average_value => Description.Param.String,
            Column.LEI_RS_Maximum_value => Description.Param.String,
            Column.LEI_RS_Minimum_value => Description.Param.String,
            Column.LEI_RS_STDEV => Description.Param.String,
            Column.LEI_RS_STDEV_ => Description.Param.String,
            //case Column.Large_Adder_Sum: results = Description.Param.String; break;
            Column.Lot => Description.Param.String,
            //case Column.Medium_Adder_Sum: results = Description.Param.String; break;
            Column.Microscope_Center_5x => Description.Param.String,
            Column.Microscope_Center_50x => Description.Param.String,
            Column.Microscope_Middle_5x => Description.Param.String,
            Column.Microscope_Middle_50x => Description.Param.String,
            Column.Microscope_Edge_5x => Description.Param.String,
            Column.Microscope_Edge_50x => Description.Param.String,
            Column.Mobility_Verification => Description.Param.String,
            Column.Mobility => Description.Param.String,
            Column.Ns_Verification => Description.Param.String,
            Column.PL_Edge_Wavelength => Description.Param.String,
            Column.PL_Ratio => Description.Param.String,
            Column.PR_Barrier_Composition => Description.Param.String,
            Column.PR_Peak => Description.Param.String,
            Column.Part => Description.Param.String,
            //case Column.Particles_verification: results = Description.Param.String; break;
            //case Column.Pits_verification: results = Description.Param.String; break;
            //case Column.Pocket: results = Description.Param.String; break;
            //case Column.Post_Bin_1: results = Description.Param.String; break;
            //case Column.Post_Bin_2: results = Description.Param.String; break;
            //case Column.Post_Bin_3: results = Description.Param.String; break;
            //case Column.Post_Bin_4: results = Description.Param.String; break;
            //case Column.Post_Bin_5: results = Description.Param.String; break;
            //case Column.Post_Bin_6: results = Description.Param.String; break;
            //case Column.Post_Bin_9: results = Description.Param.String; break;
            //case Column.Pre_Bin_1: results = Description.Param.String; break;
            //case Column.Pre_Bin_2: results = Description.Param.String; break;
            //case Column.Pre_Bin_3: results = Description.Param.String; break;
            //case Column.Pre_Bin_4: results = Description.Param.String; break;
            //case Column.Pre_Bin_5: results = Description.Param.String; break;
            //case Column.Pre_Bin_6: results = Description.Param.String; break;
            //case Column.Pre_Bin_9: results = Description.Param.String; break;
            Column.Process => Description.Param.String,
            //case Column.RPM_verif_Thickness_1: results = Description.Param.String; break;
            //case Column.RPM_verif_Thickness_2: results = Description.Param.String; break;
            //case Column.RPM_verif_Thickness_3: results = Description.Param.String; break;
            //case Column.RPM_verif_Thickness_Average: results = Description.Param.String; break;
            //case Column.RTA_oxide_Thk_Change: results = Description.Param.String; break;
            //case Column.RTA_oxide_post_anneal_Thk: results = Description.Param.String; break;
            //case Column.RTA_oxide_pre_anneal_Thk: results = Description.Param.String; break;
            Column.Recipe => Description.Param.String,
            //case Column.Resistivity_2_ohm_cm: results = Description.Param.String; break;
            //case Column.Resistivity_600_ohm_cm: results = Description.Param.String; break;
            Column.Rs_verification => Description.Param.String,
            Column.Rs_verif_100kohm => Description.Param.String,
            Column.Rs_verif_10ohm => Description.Param.String,
            Column.Rs_verif_1kohm => Description.Param.String,
            Column.SID => Description.Param.String,
            Column.SL_Period_WTAVG => Description.Param.String,
            Column.SL_Period => Description.Param.String,
            //case Column.SPE_verification: results = Description.Param.String; break;
            //case Column.Sample_ID: results = Description.Param.String; break;
            Column.Sheet_Concentration => Description.Param.String,
            //case Column.Size: results = Description.Param.String; break;
            //case Column.Small_Adder_Sum: results = Description.Param.String; break;
            //case Column.Spirals_verification: results = Description.Param.String; break;
            Column.Time => Description.Param.String,
            Column.Tool_ID => Description.Param.String,
            //case Column.Total_LPD_Adder: results = Description.Param.String; break;
            //case Column.Total_Verification: results = Description.Param.String; break;
            Column.Total_Warp_Calibration => Description.Param.String,
            Column.UV_Broken => Description.Param.String,
            Column.UV_Chipping => Description.Param.String,
            Column.UV_Cracking_0_3mm_ => Description.Param.String,
            Column.UV_Cracking_3_7mm_ => Description.Param.String,
            Column.UV_Cracking_7mm_ => Description.Param.String,
            Column.UV_Crazing => Description.Param.String,
            Column.UV_Crazing_Acceptable => Description.Param.String,
            Column.UV_FULL_Characterization_Wafer => Description.Param.String,
            Column.UV_Haze_count_ => Description.Param.String,
            Column.UV_LIGHT_Characterization_Wafer => Description.Param.String,
            Column.UV_Non_rotation => Description.Param.String,
            Column.UV_Other => Description.Param.String,
            Column.UV_Scratch_count_ => Description.Param.String,
            Column.UV_Slip_count_ => Description.Param.String,
            Column.UV_True_Haze => Description.Param.String,
            Column.UV_True_Haze_Acceptable => Description.Param.String,
            Column.UV_SPE_1mm_count => Description.Param.String,
            Column.UV_SPE_count_ => Description.Param.String,
            Column.Verification_Contact_Symmetry => Description.Param.String,
            Column.Vp_Pinch_Off_Voltage => Description.Param.String,
            Column.Wafer_ID => Description.Param.String,
            //case Column.Wafer_Pocket: results = Description.Param.String; break;
            Column.Wafer_Region => Description.Param.String,
            Column.Wafer_Scribe => Description.Param.String,
            Column.WaferPocket_Candela => Description.Param.String,
            Column.WaferPocket_Warp => Description.Param.String,
            Column.WaferPosition_CV => Description.Param.String,
            Column.WaferPosition_BV => Description.Param.String,
            Column.WaferPosition_Hall => Description.Param.String,
            Column.WaferPosition_PR => Description.Param.String,
            Column.Warp => Description.Param.String,
            Column.X_Coord => Description.Param.String,
            Column.XRD_2_Theta_Peak_002 => Description.Param.String,
            Column.XRD_2_Theta_Peak_101 => Description.Param.String,
            Column.XRD_2_Theta_Position => Description.Param.String,
            Column.XRD_2_Theta_Position_Si_1 => Description.Param.String,
            Column.XRD_2_Theta_Position_Si_2 => Description.Param.String,
            Column.XRD_2_Theta_Position_Si_3 => Description.Param.String,
            Column.XRD_Peak_002_Intensity => Description.Param.String,
            Column.XRD_Peak_101_Intensity => Description.Param.String,
            Column.XRD_Weekly_AL_Center => Description.Param.String,
            Column.XRD_Weekly_Back_Barrier_Al_ => Description.Param.String,
            Column.XRD_Weekly_Barrier_Al_ => Description.Param.String,
            Column.XRD_Weekly_FWHM_002 => Description.Param.String,
            Column.XRD_Weekly_FWHM_101 => Description.Param.String,
            Column.XRD_Weekly_FWHM_105 => Description.Param.String,
            Column.XRD_Weekly_Fringe_thick_0_0_ => Description.Param.String,
            Column.XRD_Weekly_Fringe_thick_48_48_ => Description.Param.String,
            Column.XRD_Weekly_Intensity => Description.Param.String,
            Column.XRD_Weekly_Super_Lattice_Al_ => Description.Param.String,
            Column.XRD_Weekly_Super_Lattice_period => Description.Param.String,
            Column.XRD_Weekly_Super_Lattice_tks => Description.Param.String,
            Column.XRR_Thickness_nm_WTAVG => Description.Param.String,
            Column.XRR_Thickness_nm_ => Description.Param.String,
            Column.Y_Coord => Description.Param.String,
            Column.YellowBand_Power_mW_ => Description.Param.String,
            Column.YellowBand_V => Description.Param.String,
            Column.YellowBand_V_XY => Description.Param.String,
            Column.YellowBand_nm => Description.Param.String,
            //case Column.pH: results = Description.Param.String; break;
            Column.Ag => Description.Param.String,
            Column.Al => Description.Param.String,
            Column.As => Description.Param.String,
            Column.Au => Description.Param.String,
            Column.B => Description.Param.String,
            Column.Ba => Description.Param.String,
            Column.Ca => Description.Param.String,
            Column.Ce => Description.Param.String,
            Column.Co => Description.Param.String,
            Column.Cr => Description.Param.String,
            Column.Cu => Description.Param.String,
            Column.Fe => Description.Param.String,
            Column.Ga => Description.Param.String,
            Column.Ge => Description.Param.String,
            Column.Hf => Description.Param.String,
            Column.K => Description.Param.String,
            Column.Li => Description.Param.String,
            Column.Mg => Description.Param.String,
            Column.Mn => Description.Param.String,
            Column.Mo => Description.Param.String,
            Column.Na => Description.Param.String,
            Column.Ni => Description.Param.String,
            Column.P => Description.Param.String,
            Column.Pb => Description.Param.String,
            Column.Sn => Description.Param.String,
            Column.Ta => Description.Param.String,
            Column.Ti => Description.Param.String,
            Column.W => Description.Param.String,
            Column.Y => Description.Param.String,
            Column.Zn => Description.Param.String,
            _ => throw new Exception(),
        };
        return results;
    }

}

public enum Column
{
    //_8in_Total_Warp_Verification,
    //AFM_Monthly_Y,
    //AFM_Monthly,
    AFM_Pit_Count,
    AFM_Roughness,
    //Adder_Bin_1,
    //Adder_Bin_2,
    //Adder_Bin_3,
    //Adder_Bin_4,
    //Adder_Bin_5,
    //Adder_Bin_6,
    //Adder_Bin_9,
    Al_B_B_WTAVG,
    Al_B_B_,
    Al_Barrier_WTAVG,
    Al_Barrier,
    Al_SLS_WTAVG,
    Al_SLS,
    Al_TL1_WTAVG,
    Al_TL1,
    Al_TL2_WTAVG,
    //BV_Resistance,
    BandEdge_V,
    BandEdge_V_XY,
    BandEdge_nm,
    Barrier_Composition_RPM_XY,
    Bow_Calibration,
    Bow_Range,
    Bow,
    BowCenter,
    BowX,
    BowY,
    Breakdown_Voltage_Edge,
    Breakdown_VoltageMiddle,
    Breakdown_Voltage,
    CV_C_at_10V,
    CV_Nd_Min,
    //Candela_Large_LPD_Quarterly,
    //Candela_Medium_LPD_Quarterly,
    //Candela_Small_LPD_Quarterly,
    //Candela_Total_Quarterly,
    Candela_102_83nm,
    Candela_1_1um,
    Candela_496nm,
    Candela_600nm,
    Candela_8620_Small,
    Candela_Crack_Verification,
    Candela_Cracking,
    Candela_Cracking_Acceptable,
    Candela_Crater,
    Candela_Crater_Verification,
    Candela_Haze,
    Candela_LPD_Large,
    Candela_LPD_Medium,
    Candela_LPD_Small,
    Candela_Large_Verification,
    Candela_Medium_Verification,
    Candela_Pits,
    Candela_Pits_Verification,
    Candela_SPE,
    Candela_SPE_Verification,
    Candela_Slip,
    Candela_Small_Verification,
    Candela_Spirals,
    Candela_Spirals_Verification,
    Candela_Total_Defects,
    Candela_Total_PSL,
    Candela__1_1um,
    //Comment,
    //Conductivity,
    Contact_Symmetry,
    //Cracking_verification,
    //Crater_verification,
    Date,
    Denton_Crystal_Life,
    Denton_Current_AVG,
    Denton_Current_STDEV,
    Denton_Deposition_Power_AVG,
    Denton_Deposition_Power_STDEV,
    Denton_Deposition_Rate_AVG,
    Denton_Deposition_Rate_STDEV,
    Denton_Gun_Pocket,
    Denton_Pumpdown_Time,
    Denton_Voltage_AVG,
    Denton_Voltage_STDEV,
    Employee,
    Epi_Thickness_Mean,
    Epi_Thickness_Mean_XY,
    Epi_Thickness_Std_Dev_,
    FWHM_006_WTAVG,
    FWHM_006,
    FWHM_105_WTAVG,
    FWHM_105,
    Hall_Rs,
    Hall_Mobility_verif_sample,
    Hall_Ns_verif_sample,
    Hall_Rs_verif_sample,
    Job,
    LEI_RS_Average_value,
    LEI_RS_Maximum_value,
    LEI_RS_Minimum_value,
    LEI_RS_STDEV,
    LEI_RS_STDEV_,
    //Large_Adder_Sum,
    Lot,
    //Medium_Adder_Sum,
    Microscope_Center_50x,
    Microscope_Center_5x,
    Microscope_Edge_50x,
    Microscope_Edge_5x,
    Microscope_Middle_50x,
    Microscope_Middle_5x,
    Mobility_Verification,
    Mobility,
    Ns_Verification,
    PL_Edge_Wavelength,
    PL_Ratio,
    PR_Barrier_Composition,
    PR_Peak,
    Part,
    //Particles_verification,
    //Pits_verification,
    //Pocket,
    //Post_Bin_1,
    //Post_Bin_2,
    //Post_Bin_3,
    //Post_Bin_4,
    //Post_Bin_5,
    //Post_Bin_6,
    //Post_Bin_9,
    //Pre_Bin_1,
    //Pre_Bin_2,
    //Pre_Bin_3,
    //Pre_Bin_4,
    //Pre_Bin_5,
    //Pre_Bin_6,
    //Pre_Bin_9,
    Process,
    //RPM_verif_Thickness_1,
    //RPM_verif_Thickness_2,
    //RPM_verif_Thickness_3,
    //RPM_verif_Thickness_Average,
    //RTA_oxide_Thk_Change,
    //RTA_oxide_post_anneal_Thk,
    //RTA_oxide_pre_anneal_Thk,
    Recipe,
    //Resistivity_2_ohm_cm,
    //Resistivity_600_ohm_cm,
    Rs_verification,
    Rs_verif_100kohm,
    Rs_verif_10ohm,
    Rs_verif_1kohm,
    SID,
    SL_Period_WTAVG,
    SL_Period,
    //SPE_verification,
    //Sample_ID,
    Sheet_Concentration,
    //Size,
    //Small_Adder_Sum,
    //Spirals_verification,
    Time,
    Tool_ID,
    //Total_LPD_Adder,
    //Total_Verification,
    Total_Warp_Calibration,
    UV_Broken,
    UV_Chipping,
    UV_Cracking_0_3mm_,
    UV_Cracking_3_7mm_,
    UV_Cracking_7mm_,
    UV_Crazing,
    UV_Crazing_Acceptable,
    UV_FULL_Characterization_Wafer,
    UV_Haze_count_,
    UV_LIGHT_Characterization_Wafer,
    UV_Non_rotation,
    UV_Other,
    UV_Scratch_count_,
    UV_Slip_count_,
    UV_True_Haze,
    UV_True_Haze_Acceptable,
    UV_SPE_1mm_count,
    UV_SPE_count_,
    Verification_Contact_Symmetry,
    Vp_Pinch_Off_Voltage,
    Wafer_ID,
    //Wafer_Pocket,
    Wafer_Region,
    Wafer_Scribe,
    WaferPocket_Candela,
    WaferPocket_Warp,
    WaferPosition_CV,
    WaferPosition_BV,
    WaferPosition_Hall,
    WaferPosition_PR,
    Warp,
    X_Coord,
    XRD_2_Theta_Peak_002,
    XRD_2_Theta_Peak_101,
    XRD_2_Theta_Position,
    XRD_2_Theta_Position_Si_1,
    XRD_2_Theta_Position_Si_2,
    XRD_2_Theta_Position_Si_3,
    XRD_Peak_002_Intensity,
    XRD_Peak_101_Intensity,
    XRD_Weekly_AL_Center,
    XRD_Weekly_Back_Barrier_Al_,
    XRD_Weekly_Barrier_Al_,
    XRD_Weekly_FWHM_002,
    XRD_Weekly_FWHM_101,
    XRD_Weekly_FWHM_105,
    XRD_Weekly_Fringe_thick_0_0_,
    XRD_Weekly_Fringe_thick_48_48_,
    XRD_Weekly_Intensity,
    XRD_Weekly_Super_Lattice_Al_,
    XRD_Weekly_Super_Lattice_period,
    XRD_Weekly_Super_Lattice_tks,
    XRR_Thickness_nm_,
    XRR_Thickness_nm_WTAVG,
    Y_Coord,
    YellowBand_Power_mW_,
    YellowBand_V,
    YellowBand_V_XY,
    YellowBand_nm,
    //pH,
    Ag,
    Al,
    As,
    Au,
    B,
    Ba,
    Ca,
    Ce,
    Co,
    Cr,
    Cu,
    Fe,
    Ga,
    Ge,
    Hf,
    K,
    Li,
    Mg,
    Mn,
    Mo,
    Na,
    Ni,
    P,
    Pb,
    Sn,
    Ta,
    Ti,
    W,
    Y,
    Zn
}