SELECT 
  cscart_products_categories.product_id, 
  GROUP_CONCAT(
    IF(
      cscart_products_categories.link_type = "M", 
      CONCAT(
        cscart_products_categories.category_id, 
        "M"
      ), 
      cscart_products_categories.category_id
    )
  ) AS category_ids, 
  product_position_source.position AS position 
FROM 
  cscart_products_categories 
  INNER JOIN cscart_categories ON cscart_categories.category_id = cscart_products_categories.category_id 
  AND cscart_categories.storefront_id IN (0, 1) 
  AND (
    cscart_categories.usergroup_ids = '' 
    OR FIND_IN_SET(
      0, cscart_categories.usergroup_ids
    ) 
    OR FIND_IN_SET(
      1, cscart_categories.usergroup_ids
    )
  ) 
  AND cscart_categories.status IN ('A', 'H') 
  LEFT JOIN cscart_products_categories AS product_position_source ON cscart_products_categories.product_id = product_position_source.product_id 
  AND product_position_source.category_id = 7300 
WHERE 
  cscart_products_categories.product_id IN (
    98320, 98321, 98482, 98572, 98573, 98574, 
    98575, 98576, 98577, 98578, 98579, 
    98580, 98581, 98582, 98583, 98584, 
    98585, 98586, 98690, 98693, 98694, 
    98758, 99561, 100374, 100375, 100376, 
    100377, 100378, 100379, 100380, 100381, 
    100382, 100383, 100598, 100601, 101635, 
    101636, 101639, 101640, 101641, 101642, 
    101643, 101644, 101645, 101646, 101647, 
    101648, 101649, 101650, 101651, 101652, 
    101653
  ) 
GROUP BY 
  cscart_products_categories.product_id

Query time 0.01569

JSON explain

{
  "query_block": {
    "select_id": 1,
    "cost_info": {
      "query_cost": "73.19"
    },
    "grouping_operation": {
      "using_filesort": false,
      "nested_loop": [
        {
          "table": {
            "table_name": "cscart_products_categories",
            "access_type": "range",
            "possible_keys": [
              "PRIMARY",
              "link_type",
              "pt"
            ],
            "key": "pt",
            "used_key_parts": [
              "product_id"
            ],
            "key_length": "3",
            "rows_examined_per_scan": 81,
            "rows_produced_per_join": 81,
            "filtered": "100.00",
            "using_index": true,
            "cost_info": {
              "read_cost": "8.39",
              "eval_cost": "8.10",
              "prefix_cost": "16.49",
              "data_read_per_join": "1K"
            },
            "used_columns": [
              "product_id",
              "category_id",
              "link_type"
            ],
            "attached_condition": "(`nuie_scalesta_net`.`cscart_products_categories`.`product_id` in (98320,98321,98482,98572,98573,98574,98575,98576,98577,98578,98579,98580,98581,98582,98583,98584,98585,98586,98690,98693,98694,98758,99561,100374,100375,100376,100377,100378,100379,100380,100381,100382,100383,100598,100601,101635,101636,101639,101640,101641,101642,101643,101644,101645,101646,101647,101648,101649,101650,101651,101652,101653))"
          }
        },
        {
          "table": {
            "table_name": "product_position_source",
            "access_type": "eq_ref",
            "possible_keys": [
              "PRIMARY",
              "pt"
            ],
            "key": "PRIMARY",
            "used_key_parts": [
              "category_id",
              "product_id"
            ],
            "key_length": "6",
            "ref": [
              "const",
              "nuie_scalesta_net.cscart_products_categories.product_id"
            ],
            "rows_examined_per_scan": 1,
            "rows_produced_per_join": 81,
            "filtered": "100.00",
            "cost_info": {
              "read_cost": "20.25",
              "eval_cost": "8.10",
              "prefix_cost": "44.84",
              "data_read_per_join": "1K"
            },
            "used_columns": [
              "product_id",
              "category_id",
              "position"
            ]
          }
        },
        {
          "table": {
            "table_name": "cscart_categories",
            "access_type": "eq_ref",
            "possible_keys": [
              "PRIMARY",
              "c_status",
              "p_category_id"
            ],
            "key": "PRIMARY",
            "used_key_parts": [
              "category_id"
            ],
            "key_length": "3",
            "ref": [
              "nuie_scalesta_net.cscart_products_categories.category_id"
            ],
            "rows_examined_per_scan": 1,
            "rows_produced_per_join": 4,
            "filtered": "5.00",
            "cost_info": {
              "read_cost": "20.25",
              "eval_cost": "0.41",
              "prefix_cost": "73.19",
              "data_read_per_join": "10K"
            },
            "used_columns": [
              "category_id",
              "usergroup_ids",
              "status",
              "storefront_id"
            ],
            "attached_condition": "((`nuie_scalesta_net`.`cscart_categories`.`storefront_id` in (0,1)) and ((`nuie_scalesta_net`.`cscart_categories`.`usergroup_ids` = '') or (0 <> find_in_set(0,`nuie_scalesta_net`.`cscart_categories`.`usergroup_ids`)) or (0 <> find_in_set(1,`nuie_scalesta_net`.`cscart_categories`.`usergroup_ids`))) and (`nuie_scalesta_net`.`cscart_categories`.`status` in ('A','H')))"
          }
        }
      ]
    }
  }
}

Result

product_id category_ids position
98320 7304M
98321 7304M
98482 7149M,7182,7300 0
98572 7302M
98573 7302M
98574 7302M
98575 7302M
98576 7302M
98577 7302M
98578 7302M
98579 7302M
98580 7302M
98581 7302M
98582 7302M
98583 7302M
98584 7302M
98585 7302M
98586 7302M
98690 7301,7151M
98693 7151M,7301
98694 7301,7151M
98758 7300,7149M,7182 0
99561 7302M
100374 7151M,7301
100375 7151M,7301
100376 7302M
100377 7302M
100378 7302M
100379 7302M
100380 7301,7151M
100381 7301,7151M
100382 7301,7151M
100383 7301,7151M
100598 7301,7151M
100601 7151M,7301
101635 7151M,7301
101636 7151M,7301
101639 7151M,7301
101640 7301,7151M
101641 7302M
101642 7302M
101643 7302M
101644 7301,7151M
101645 7151M,7301
101646 7151M,7301
101647 7151M,7301
101648 7301,7151M
101649 7301,7151M
101650 7301,7151M
101651 7301,7151M
101652 7301,7151M
101653 7301,7151M