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

# Type of request: This is a ...

[x] bug report
[ ] feature request

# Detailed description

SNS is unable to forward the message to SQS (non fifo queue) when using the `elasticmq` backend and fails with the following log
```
2021-01-19T09:31:50:WARNING:localstack.services.sns.sns_listener: Unable to forward SNS message to SQS: An error occurred (InvalidParameterValue) when calling the SendMessage operation: Value for parameter MessageGroupId is invalid. The request include parameter that is not valid for this queue type Traceback (most recent call last):

File "/opt/code/localstack/localstack/services/sns/sns_listener.py", line 297, in message_to_subscribers

sqs_client.send_message(

File "/opt/code/localstack/.venv/lib/python3.8/site-packages/botocore/client.py", line 357, in _api_call

return self._make_api_call(operation_name, kwargs)

File "/opt/code/localstack/.venv/lib/python3.8/site-packages/botocore/client.py", line 676, in _make_api_call

raise error_class(parsed_response, operation_name)

botocore.exceptions.ClientError: An error occurred (InvalidParameterValue) when calling the SendMessage operation: Value for parameter MessageGroupId is invalid. The request include parameter that is not valid for this queue type
```
This is likely a regression due to #3435. Tested with the default backend on `0.12.5` and it works as expected. Also works with `elasticmq` backend on `0.12.4`

## Expected behavior

Same behavior with the `elasticmq` backend as with the default backend.

## Actual behavior

Fails on `elasticmq` backend, no SQS message received when SNS message is sent.

# Steps to reproduce

## Command used to start LocalStack

```yaml
  localstack:
    image: localstack/localstack:0.12.5
    ports:
      - 4566:4566
    environment:
      - AWS_DEFAULT_REGION=ap-northeast-1
      - SERVICES=sns,sqs
      - SQS_PROVIDER=elasticmq
```

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

""" Fix account ID in request payload. All external-facing responses contain our
            predefined account ID (defaults to 000000000000), whereas the backend endpoint
            from moto expects a different hardcoded account ID (123456789012). """
        return aws_stack.fix_account_id_in_arns(
            data, colon_delimiter='%3A', existing=TEST_AWS_ACCOUNT_ID, replace=MOTO_ACCOUNT_ID)
    def return_response(self, method, path, data, headers, response):
        
        super(ProxyListenerSNS, self).return_response(
            method, path, data, headers, response
        )
        if method == 'POST' and path == '/':
            
            data = aws_stack.fix_account_id_in_arns(data, colon_delimiter='%3A')
            aws_stack.fix_account_id_in_arns(response)
            
            search = r'<entry><key>[^<]+</key>\s*<value>\s*None\s*</[^>]+>\s*</entry>'
            response_regex_replace(response, search, '')
            
            req_data = urlparse.parse_qs(to_str(data))
            req_action = req_data['Action'][0]
            if req_action == 'Subscribe' and response.status_code < 400:
                response_data = xmltodict.parse(response.content)
                topic_arn = (req_data.get('TargetArn') or req_data.get('TopicArn'))[0]
                filter_policy = (req_data.get('FilterPolicy') or [None])[0]
                attributes = get_subscribe_attributes(req_data)
                sub_arn = response_data['SubscribeResponse']['SubscribeResult']['SubscriptionArn']
                do_subscribe(