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 = 7198 
WHERE 
  cscart_products_categories.product_id IN (
    94450, 94504, 94796, 94797, 94802, 94803, 
    94804, 94805, 94806, 94807, 94808, 
    94809, 94810, 94825, 94826, 94832, 
    94842, 95312, 95313, 95555, 95556, 
    95737, 95738, 95739, 95740, 95741, 
    95742, 95753, 95754, 95755, 95765, 
    95786, 95787, 95788, 95819, 95820, 
    95885, 95886, 95887, 95888, 96117, 
    96118, 96176, 96529, 96569, 97628, 
    98036, 98037
  ) 
GROUP BY 
  cscart_products_categories.product_id

Query time 0.00143

JSON explain

{
  "query_block": {
    "select_id": 1,
    "cost_info": {
      "query_cost": "45.28"
    },
    "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": 50,
            "rows_produced_per_join": 50,
            "filtered": "100.00",
            "using_index": true,
            "cost_info": {
              "read_cost": "5.28",
              "eval_cost": "5.00",
              "prefix_cost": "10.28",
              "data_read_per_join": "800"
            },
            "used_columns": [
              "product_id",
              "category_id",
              "link_type"
            ],
            "attached_condition": "(`nuie_scalesta_net`.`cscart_products_categories`.`product_id` in (94450,94504,94796,94797,94802,94803,94804,94805,94806,94807,94808,94809,94810,94825,94826,94832,94842,95312,95313,95555,95556,95737,95738,95739,95740,95741,95742,95753,95754,95755,95765,95786,95787,95788,95819,95820,95885,95886,95887,95888,96117,96118,96176,96529,96569,97628,98036,98037))"
          }
        },
        {
          "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": 50,
            "filtered": "100.00",
            "cost_info": {
              "read_cost": "12.50",
              "eval_cost": "5.00",
              "prefix_cost": "27.78",
              "data_read_per_join": "800"
            },
            "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": 2,
            "filtered": "5.00",
            "cost_info": {
              "read_cost": "12.50",
              "eval_cost": "0.25",
              "prefix_cost": "45.28",
              "data_read_per_join": "6K"
            },
            "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
94450 7203M
94504 7264M
94796 7203M
94797 7203M
94802 7203M
94803 7203M
94804 7199M
94805 7199M
94806 7199M
94807 7203M
94808 7203M
94809 7199M
94810 7209M
94825 7209M
94826 7203M
94832 7199M
94842 7203M
95312 7209M
95313 7209M
95555 7203M
95556 7266,7198M 0
95737 7209M
95738 7203M
95739 7203M
95740 7203M
95741 7203M
95742 7203M
95753 7199M
95754 7203M
95755 7209M
95765 7209M
95786 7199M
95787 7209M
95788 7199M
95819 7203M
95820 7209M
95885 7199M
95886 7199M
95887 7199M
95888 7199M
96117 7199M
96118 7199M
96176 7199M
96529 7203M
96569 7266,7198M 0
97628 7264M
98036 7199M
98037 7199M