With a group field you need to check for values in each of the fields in the group. A group field is in essence a repeater field that always has exactly 1 row. have_rows() will always return true.
You are better off using something like
$group = get_field('field_name');
if ($group['background']) {
// do something
}