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 = 7156 
WHERE 
  cscart_products_categories.product_id IN (
    98929, 98930, 98931, 98932, 98933, 98934, 
    98935, 98936, 98937, 98938, 98939, 
    98940, 98941, 98942, 98943, 98944, 
    98945, 98946, 98947, 98948, 98949, 
    98950, 98951, 98952, 98953, 98954, 
    98955, 98956, 98957, 98958, 98959, 
    98960, 98961, 98962, 98963, 98964, 
    98965, 98966, 98967, 98968, 98969, 
    98970, 98971, 98972, 98973, 98974, 
    98975, 98976, 98977, 98978, 98979, 
    98980, 98981, 98982, 98983, 98984, 
    98985, 98986, 98987, 98988, 98989, 
    98990, 98991, 98992, 98993, 98994, 
    98995, 98996, 98997, 98998, 98999, 
    99000, 99001, 99002, 99003, 99004, 
    99005, 99006, 99007, 99008, 99009, 
    99010, 99011, 99066, 99333, 99334, 
    99335, 99336, 99337, 99338, 99339, 
    99340, 99341, 99342, 99343, 99491
  ) 
GROUP BY 
  cscart_products_categories.product_id

Query time 0.01576

JSON explain

{
  "query_block": {
    "select_id": 1,
    "cost_info": {
      "query_cost": "89.39"
    },
    "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": 99,
            "rows_produced_per_join": 99,
            "filtered": "100.00",
            "using_index": true,
            "cost_info": {
              "read_cost": "10.20",
              "eval_cost": "9.90",
              "prefix_cost": "20.10",
              "data_read_per_join": "1K"
            },
            "used_columns": [
              "product_id",
              "category_id",
              "link_type"
            ],
            "attached_condition": "(`nuie_scalesta_net`.`cscart_products_categories`.`product_id` in (98929,98930,98931,98932,98933,98934,98935,98936,98937,98938,98939,98940,98941,98942,98943,98944,98945,98946,98947,98948,98949,98950,98951,98952,98953,98954,98955,98956,98957,98958,98959,98960,98961,98962,98963,98964,98965,98966,98967,98968,98969,98970,98971,98972,98973,98974,98975,98976,98977,98978,98979,98980,98981,98982,98983,98984,98985,98986,98987,98988,98989,98990,98991,98992,98993,98994,98995,98996,98997,98998,98999,99000,99001,99002,99003,99004,99005,99006,99007,99008,99009,99010,99011,99066,99333,99334,99335,99336,99337,99338,99339,99340,99341,99342,99343,99491))"
          }
        },
        {
          "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": 99,
            "filtered": "100.00",
            "cost_info": {
              "read_cost": "24.75",
              "eval_cost": "9.90",
              "prefix_cost": "54.75",
              "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": "24.75",
              "eval_cost": "0.50",
              "prefix_cost": "89.40",
              "data_read_per_join": "12K"
            },
            "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
98929 7194M
98930 7194M
98931 7194M
98932 7194M
98933 7194M
98934 7194M
98935 7194M
98936 7194M
98937 7194M
98938 7194M
98939 7194M
98940 7194M
98941 7194M
98942 7194M
98943 7194M
98944 7194M
98945 7194M
98946 7194M
98947 7194M
98948 7194M
98949 7194M
98950 7194M
98951 7194M
98952 7194M
98953 7194M
98954 7194M
98955 7194M
98956 7194M
98957 7194M
98958 7194M
98959 7194M
98960 7194M
98961 7194M
98962 7194M
98963 7194M
98964 7194M
98965 7194M
98966 7194M
98967 7194M
98968 7194M
98969 7194M
98970 7194M
98971 7194M
98972 7194M
98973 7194M
98974 7194M
98975 7194M
98976 7194M
98977 7194M
98978 7194M
98979 7194M
98980 7194M
98981 7194M
98982 7194M
98983 7194M
98984 7194M
98985 7194M
98986 7194M
98987 7194M
98988 7194M
98989 7194M
98990 7194M
98991 7194M
98992 7194M
98993 7194M
98994 7194M
98995 7194M
98996 7194M
98997 7194M
98998 7194M
98999 7194M
99000 7194M
99001 7194M
99002 7194M
99003 7194M
99004 7194M
99005 7194M
99006 7194M
99007 7194M
99008 7194M
99009 7194M
99010 7194M
99011 7194M
99066 7343,7157M,7342,7341
99333 7194M
99334 7194M
99335 7194M
99336 7194M
99337 7194M
99338 7194M
99339 7194M
99340 7194M
99341 7194M
99342 7194M
99343 7194M
99491 7194M