def get_choices(choice_tup, style='db'):
    """
    Return the choices given on a model Field.
    
    Args:
        choice_tup: The choice tuple given in the model.
    
    Keyword Args:
        style: Determines whether the human readable "display" values should
               be returned or those from the "db".
    """
    
    if style == 'db':
        idx = 0
    elif style == 'display':
        idx = 1
    else:
        raise ValueError
    
    # check whether the tuple contains extra optgroup
    if isinstance(choice_tup[0][1], tuple):
        optgroup = True
    else:
        optgroup = False
        
    output_choices = []
            
    if optgroup:    
        for group in choice_tup:
            for pair in group[1]:
                output_choices.append(pair[idx])
    else:
        for pair in choice_tup:
            output_choices.append(pair[idx])
                
    return output_choices