def parse_ffl_number(ffl_number, parse_values=True):
    """
    This take an FFL number a dictionary representation of the appropriate fields
    :param ffl_number: String with the FFL number, this can be in the format of X-XX-XXX-XX-XX-XXXXX or just the string
    :param parse_values: Parse the values as an int or string, int is useful for working in databases
    :return: dict of parsed FFL number
    """
    ffl_number = ffl_number.replace('-', '')
    if len(ffl_number) != 15:
        raise ValueError('Invalid ffl Length: %s for %s' % (len(ffl_number),
            ffl_number))
    if parse_values:
        render = int
    else:
        render = str
    return {'FFLRegion': render(ffl_number[0]), 'FFLDistrict': render(
        ffl_number[1:3]), 'FFLCounty': render(ffl_number[3:6]), 'FFLType':
        render(ffl_number[6:8]), 'FFLExpiration': ffl_number[8:10],
        'FFLSequence': render(ffl_number[10:]), 'FFLNumber': ffl_number}
