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 = 7197 
WHERE 
  cscart_products_categories.product_id IN (
    84945, 84946, 91064, 84270, 88033, 88007, 
    84754, 84755, 84943, 84944, 87904, 
    87910, 87911, 87912, 87896, 88034, 
    84269, 84958, 87892, 87897, 84952, 
    84953, 87909, 87916, 87891, 87895, 
    87903, 87908, 87914, 84746, 87893, 
    87963, 84959, 87913, 87917, 88036, 
    87971, 84756, 84757, 88016, 84861, 
    84862, 87900, 87901, 87915, 88088, 
    88056, 88057
  ) 
GROUP BY 
  cscart_products_categories.product_id

Query time 0.00138

JSON explain

{
  "query_block": {
    "select_id": 1,
    "cost_info": {
      "query_cost": "49.78"
    },
    "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": 55,
            "rows_produced_per_join": 55,
            "filtered": "100.00",
            "using_index": true,
            "cost_info": {
              "read_cost": "5.78",
              "eval_cost": "5.50",
              "prefix_cost": "11.28",
              "data_read_per_join": "880"
            },
            "used_columns": [
              "product_id",
              "category_id",
              "link_type"
            ],
            "attached_condition": "(`nuie_scalesta_net`.`cscart_products_categories`.`product_id` in (84945,84946,91064,84270,88033,88007,84754,84755,84943,84944,87904,87910,87911,87912,87896,88034,84269,84958,87892,87897,84952,84953,87909,87916,87891,87895,87903,87908,87914,84746,87893,87963,84959,87913,87917,88036,87971,84756,84757,88016,84861,84862,87900,87901,87915,88088,88056,88057))"
          }
        },
        {
          "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": 55,
            "filtered": "100.00",
            "cost_info": {
              "read_cost": "13.75",
              "eval_cost": "5.50",
              "prefix_cost": "30.53",
              "data_read_per_join": "880"
            },
            "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": "13.75",
              "eval_cost": "0.28",
              "prefix_cost": "49.78",
              "data_read_per_join": "7K"
            },
            "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
84269 7199M
84270 7199M
84746 7205M
84754 7205M
84755 7205M
84756 7206M
84757 7206M
84861 7205M
84862 7205M
84943 7205M
84944 7205M
84945 7206M
84946 7206M
84952 7205M
84953 7205M
84958 7205M
84959 7206M
87891 7255M
87892 7255M
87893 7255M
87895 7255M
87896 7255M
87897 7255M
87900 7262,7256M
87901 7262,7256M
87903 7255M
87904 7262,7256M
87908 7255M
87909 7255M
87910 7255M
87911 7255M
87912 7255M
87913 7255M
87914 7255M
87915 7255M
87916 7255M
87917 7255M
87963 7205M
87971 7205M
88007 7199M
88016 7209M
88033 7199M
88034 7255M
88036 7262,7256M
88056 7262,7256M
88057 7262,7256M
88088 7262,7256M
91064 7209M