What enlarging can and cannot get back
A pixel is a measurement. Between two measurements there is no third measurement — there is only whatever the world happened to contain, and nothing in the file knows what that was.
The part that is arithmetic
Every enlarger starts from the same position. You have a grid of measurements and you want a denser grid. The new positions between the old ones were never sampled, so a value has to be produced for each of them, and the only material available is the values nearby.
Weighting those nearby values is what a kernel does, and the differences between kernels are real but narrow. Lanczos weights seven neighbours along a curve that rings slightly; Mitchell weights four along a curve that does not; an edge-guided method decides which neighbours to trust before it weights them. All three produce a smooth blend of things already known, and it follows directly that none of them can put a frequency into the result that was not in the input.
If the thread in a fabric was never resolved by the camera, no arrangement of weights resolves it now. What changes is how gracefully the absence is described.
That is not a criticism. Describing an absence gracefully is most of what a print needs. A poster at two metres asks for smooth tone and clean boundaries, not for thread count.