class CSVRow {

    public <E extends Enum<E>> E parseEnum(T csvColumn, Class<E> enumClass) {
        String value = parse(csvColumn);
        if (hasNullValue(value)) {
            return null;
        }

        return Enum.valueOf(enumClass, value);
    }

    public  CSVRow(ImmutableMap<String, String> lineByHeader);

}