<!-- Love localstack? Please consider supporting our collective:
👉  https://opencollective.com/localstack/donate -->

# Type of request: This is a ...

[*] bug report
[ ] feature request

# Detailed description

When setting up a FIFO SNS topic with a FIFO SQS subscriber, in the case where a `MessageGroupId` is sent to the SNS topic it fails when being sent to the SQS queue as the `MessageGroupId` isn't passed along.

## Expected behavior

`MessageGroupId` should be passed along to the SQS queue

## Actual behavior

It's not passed along and it will error with the message:

```An error occurred (MissingParameter) when calling the SendMessage operation: The request must contain the parameter MessageGroupId.```


I believe the error is around here:
https://github.com/localstack/localstack/blob/master/localstack/services/sns/sns_listener.py#L295

# Steps to reproduce

```
        aws sns create-topic --attributes=FifoTopic=true --name local_sns --endpoint-url=http://localstack:4566
        aws sqs create-queue --endpoint-url=http://localstack:4566 --queue-name local_queue
        aws --endpoint-url=http://localstack:4566 sns subscribe --topic-arn arn:aws:sns:eu-west-1:000000000000:local_sns --protocol sqs --notification-endpoint http://localstack:4566/000000000000/local_queue
```

Then sending a new message to the topic with a messagegroupid results in the error above.


## Command used to start LocalStack

Docker compose

## Client code (AWS SDK code snippet, or sequence of "awslocal" commands)

...

return make_error(code=400, code_string='InvalidParameter', message='Subject')
                
                
                if 'PhoneNumber' not in req_data and 'TargetArn' not in req_data:
                    if topic_arn not in SNS_SUBSCRIPTIONS:
                        return make_error(code=404, code_string='NotFound', message='Topic does not exist')
                message_id = publish_message(topic_arn, req_data)
                
                return make_response(req_action, message_id=message_id)
            elif req_action == 'ListTagsForResource':
                tags = do_list_tags_for_resource(topic_arn)
                content = '<Tags/>'
                if len(tags) > 0:
                    content = '<Tags>'
                    for tag in tags:
                        content += '<member>'
                        content += '<Key>%s</Key>' % tag['Key']
                        content += '<Value>%s</Value>' % tag['Value']
                        content += '</member>'
                    content += '</Tags>'
                return make_response(req_action, content=content)
            elif req_action == 'CreateTopic':
                topic_arn = aws_stack.sns_topic_arn(req_data['Name'][0])
                tag_resource_success = self._extract_tags(topic_arn, req_data, True)
                SNS_SUBSCRIPTIONS[topic_arn] = SNS_SUBSCRIPTIONS.get(topic_arn) or []
                
                if not tag_resource_success:
                    return make_error(code=400, code_string='InvalidParameter',
                                  message='Topic already exists with different tags')
            elif req_action == 'TagResource':