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 = 317 
WHERE 
  cscart_products_categories.product_id IN (
    1442, 1445, 1459, 1453, 1417, 1433, 1439, 
    1444, 1411, 1415, 1456, 1428, 1422, 
    1465, 1414, 1427, 1470, 1468, 1441, 
    1429, 1454, 1430, 1431, 1440, 1435, 
    1457, 1467, 1458, 1432, 1434, 1410, 
    1471, 1436, 1419, 1463, 1451, 1420, 
    1449, 1412, 1448
  ) 
GROUP BY 
  cscart_products_categories.product_id

Query time 0.00086

JSON explain

{
  "query_block": {
    "select_id": 1,
    "cost_info": {
      "query_cost": "25.63"
    },
    "grouping_operation": {
      "using_temporary_table": true,
      "using_filesort": true,
      "cost_info": {
        "sort_cost": "1.14"
      },
      "nested_loop": [
        {
          "table": {
            "table_name": "cscart_categories",
            "access_type": "ALL",
            "possible_keys": [
              "PRIMARY",
              "c_status",
              "p_category_id"
            ],
            "rows_examined_per_scan": 68,
            "rows_produced_per_join": 2,
            "filtered": "4.00",
            "cost_info": {
              "read_cost": "7.63",
              "eval_cost": "0.27",
              "prefix_cost": "7.91",
              "data_read_per_join": "9K"
            },
            "used_columns": [
              "category_id",
              "storefront_id",
              "usergroup_ids",
              "status"
            ],
            "attached_condition": "((`cscartdevel`.`cscart_categories`.`storefront_id` in (0,1)) and ((`cscartdevel`.`cscart_categories`.`usergroup_ids` = '') or (0 <> find_in_set(0,`cscartdevel`.`cscart_categories`.`usergroup_ids`)) or (0 <> find_in_set(1,`cscartdevel`.`cscart_categories`.`usergroup_ids`))) and (`cscartdevel`.`cscart_categories`.`status` in ('A','H')))"
          }
        },
        {
          "table": {
            "table_name": "cscart_products_categories",
            "access_type": "ref",
            "possible_keys": [
              "PRIMARY",
              "pt"
            ],
            "key": "PRIMARY",
            "used_key_parts": [
              "category_id"
            ],
            "key_length": "3",
            "ref": [
              "cscartdevel.cscart_categories.category_id"
            ],
            "rows_examined_per_scan": 17,
            "rows_produced_per_join": 1,
            "filtered": "2.47",
            "index_condition": "(`cscartdevel`.`cscart_products_categories`.`product_id` in (1442,1445,1459,1453,1417,1433,1439,1444,1411,1415,1456,1428,1422,1465,1414,1427,1470,1468,1441,1429,1454,1430,1431,1440,1435,1457,1467,1458,1432,1434,1410,1471,1436,1419,1463,1451,1420,1449,1412,1448))",
            "cost_info": {
              "read_cost": "11.56",
              "eval_cost": "0.11",
              "prefix_cost": "24.09",
              "data_read_per_join": "18"
            },
            "used_columns": [
              "product_id",
              "category_id",
              "link_type"
            ]
          }
        },
        {
          "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",
              "cscartdevel.cscart_products_categories.product_id"
            ],
            "rows_examined_per_scan": 1,
            "rows_produced_per_join": 1,
            "filtered": "100.00",
            "cost_info": {
              "read_cost": "0.29",
              "eval_cost": "0.11",
              "prefix_cost": "24.49",
              "data_read_per_join": "18"
            },
            "used_columns": [
              "product_id",
              "category_id",
              "position"
            ]
          }
        }
      ]
    }
  }
}

Result

product_id category_ids position
1410 359M
1411 359M
1412 359M
1414 359M
1415 359M
1417 359M
1419 359M
1420 359M
1422 359M
1427 359M
1428 359M
1429 359M
1430 359M
1431 359M
1432 359M
1433 359M
1434 359M
1435 359M
1436 359M
1439 359M
1440 359M
1441 359M
1442 359M
1444 359M
1445 359M
1448 359M
1449 359M
1451 359M
1453 359M
1454 359M
1456 359M
1457 359M
1458 359M
1459 359M
1463 359M
1465 359M
1467 359M
1468 359M
1470 359M
1471 359M