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

if conditions:
        return bool(message_attributes.get(criteria))
    return False
def evaluate_condition(value, condition, message_attributes, criteria):
    if type(condition) is not dict:
        return value == condition
    elif condition.get('anything-but'):
        return value not in condition.get('anything-but')
    elif condition.get('prefix'):
        prefix = condition.get('prefix')
        return value.startswith(prefix)
    elif condition.get('numeric'):
        return evaluate_numeric_condition(condition.get('numeric'), value)
    elif condition.get('exists'):
        return evaluate_exists_condition(condition.get('exists'), message_attributes, criteria)
    return False
def evaluate_filter_policy_conditions(conditions, attribute, message_attributes, criteria):