<!-- 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.

Destination={'ToAddresses': [subscriber.get('Endpoint')]})
        else:
            LOG.warning('Unexpected protocol "%s" for SNS subscription' % subscriber['Protocol'])
def publish_message(topic_arn, req_data, subscription_arn=None, skip_checks=False):
    message = req_data['Message'][0]
    message_id = str(uuid.uuid4())
    if topic_arn and ':endpoint/' in topic_arn:
        
        cache = PLATFORM_ENDPOINT_MESSAGES[topic_arn] = PLATFORM_ENDPOINT_MESSAGES.get(topic_arn) or []
        cache.append(req_data)
    LOG.debug('Publishing message to TopicArn: %s | Message: %s' % (topic_arn, message))
    start_thread(
        lambda _: message_to_subscribers(message_id, message, topic_arn, req_data, subscription_arn, skip_checks))
    return message_id
def do_delete_topic(topic_arn):
    SNS_SUBSCRIPTIONS.pop(topic_arn, None)
    SNS_TAGS.pop(topic_arn, None)
def do_confirm_subscription(topic_arn, token):
    for k, v in SUBSCRIPTION_STATUS.items():
        if v['Token'] == token and v['TopicArn'] == topic_arn:
            v['Status'] = 'Subscribed'
def do_subscribe(topic_arn, endpoint, protocol, subscription_arn, attributes, filter_policy=None):
    topic_subs = SNS_SUBSCRIPTIONS[topic_arn] = SNS_SUBSCRIPTIONS.get(topic_arn) or []
    
    
    for existing_topic_subscription in topic_subs:
        if existing_topic_subscription.get('Endpoint') == endpoint:
            return
    subscription = {