Parses the header and determines the column type
        and its column index.

def _parse_header(self, header_string):
        """
        Parses the header and determines the column type
        and its column index.
        """
        header_content = header_string.strip().split('\t')
        if len(header_content) != self._snv_enum.HEADER_LEN.value:
            raise MTBParserException(
                "Only {} header columns found, {} expected!"
                .format(len(header_content), self._snv_enum.HEADER_LEN.value))
        counter = 0
        for column in header_content:
            for enum_type in self._snv_enum:
                if column == enum_type.value:
                    self._header_to_column_mapping[enum_type.name] = counter
                    continue
            counter+=1

        if len(self._header_to_column_mapping) != self._snv_enum.HEADER_LEN.value:
            debug_string = self._header_to_column_mapping.keys()
            raise MTBParserException("Parsing incomplete: Not all columns have been "
                    "matched to speficied column types. Identified {} columns, but expected {}. {}"
                    .format(len(self._header_to_column_mapping), self._snv_enum.HEADER_LEN.value, debug_string))