I've test your situation. It's a quite strange. There is empty value in controller via getting params variable. But, its normally with TextField. So, I think the first step, you should try to remove empty value in the list via this statement :
def clean = list.findAll { item -> item != ''}