You could use a 2nd order IIR notch filter as I describe in this post Transfer function of second order notch filter - That post demonstrates a 50 Hz IIR notch with 1 KHz sampling.
[Update: As @user47050 astutely points out in the comments, the IIR notch would also have minimal delay regardless of notch bandwidth, since the dominat delay in the IIR notch filter is specific to the signal components in the rejection bandwidth of the filter, not the signals that you want to pass through. The advantage of what follows is not necessarily then to eliminate a delay issue, but to provide tracking rejection of just the interference that is approximately 50Hz (but slowly varying in phase and amplitude) while minimizing impact to adjacent frequencies of interest.]
However to provide cancellation of the interference with zero delay, consider a feedback signal cancellation servo such as I depict in the diagram below. This would have no delay to your signal but will have a delayed response to changes in your interfering signal. Results will depend on the relative stability of the interference. If the interference is a relatively slowly changing sinusoidal tone, this should work very well.
This is an all digital nulling loop that can null down to the rms power level of your signal (at which point it can no longer estimate the cancellation coeeficient). The bold lines shown in green represent complex signals:The 50 Hz PLL is a NCO with sine/cosine outputs, the multiplier following it is a full complex multiplier (essentially a vector modulator providing complete control of amplitude or phase), the multiplier after the second BPF is essentially a quadrature down-converter providing a measure of the amplitude and phase of the residual.
The way this works can be described as follows: The input signal is assumed to have a strong 50 Hz signal, strong enough such that combined with the filtering of the first 50 Hz BPF the PLL can lock in phase to the tone (the tone needs to be 6 dB stronger than the noise at the PLL input). This will provide a phase locked copy of the 50 Hz signal as a quadrature NCO output. The quadrature PLL is basically a very tight tracking filter, providing a clean replica for purposes of cancellation.
Next we have a cancellation loop provided with a post cancellation band pass filter to detect the residual and adjust a complex coefficient to adjust the gain and phase of the 50 Hz PLL output prior to subtraction. I show the approach of quadrature downconverting the 50 Hz BPF output to complex baseband (by multiplying with the complex PLL output), and accumulating the result which will find the null with the convergence gain coefficient k. This is a cancellation loop using the method of stochastic gradient descent. The accumulator accumulates residual error as measured on the I and Q output of the quadature downcoverter resulting in the correct setting to the "Vector Modulator" multiplier resulting in a real sine wave output that will be equal in magnitude and opposite in phase to the interfering signal at the input.
The diagram can be simplified in that the first 50 Hz PLL BPF can be eliminated and the PLL replaced with a constant 50 Hz sine/cosine generator, since the vector modulator provides complete control of rotating phase which serves to to adjust the frequency positive or negative as needed, as well as gain as needed to provide the cancellation required. The proposed use of the 50 Hz BPF + PLL is that it would be feasible of providing faster corrections to phase changes in the input signal, once the cancellation loop has converged (since the PLL will track the input and can be designed with wider loop bandwidth than the nulling loop)- however if the amplitude change in the interference dominates, then I don't see a strong advantage to having the PLL.
Without the PLL this would reduce to the following block diagram. Here everything is done at complex baseband, so a low pass filter instead of a bandpass filter is used (which I would likely implement as an exponential averaging filter). k is the complex convergence gain and c is the determined complex correction coefficient that will scale the gain and phase of the generated 50 Hz cancellation signal (which as suggested earlier c would be a changing phase versus time to adjust for the small frequency offsets that would also exist).
The PLL implementation has a clear advantage over a 2nd order IIR notch filter in that it can track and null a tone interference over a relatively much wider bandwidth, within the tracking range of the PLL. Without further study of the implementation below, I am not confident that it would out-perform a 2nd order IIR notch filter, but it is interesting to consider given it is much simpler than the PLL approach.
As a fixed 50 Hz source with a 2KHz sampling rate, the tone generator is trivial to implement, but if you extended it for other applications and used an NCO for the fixed 50 Hz complex tone generator, you end up with a tuneable single tone adaptive canceller that will capture and cancel any single tone within the proximity to any frequency setting of the NCO, within range of the bandwidth of the LPF! The cancelling loop will null the 50 Hz interferor down to the noise floor coming out of the filter- so the tighter the filter, the deeper the null as long as the the signal is within the filter bandwidth.
The amount of cancellation will depend on the time rate of change of the amplitude and phase of the input signal. The approach as shown above has zero delay to the main signal of interest, but is estimating the characteristics of the interference from a lag time T in the past, where T is impacted by the bandwidth (delay) of the low pass filter and the loop BW of the nulling loop (set by k), so will have an upper frequency limit on how much of the noise bandwidth of the interference signal can be rejected (that noise bandwidth is visible in the power spectral density of the interfering signal, basically AM and PM noise side-bands). This nulling loop is a high pass filter to that interference; which is desired as the signal of interest is indistinguishable from noise.
If this approach proves useful, you can improve it further by instead using the method of recursive least squares (RLS adaptive algorithm) to determine the complex weight that is applied to the vector modulator based on the error terms out of the quadrature downconverter. This converges faster at the expense of computation complexity.