From Old English 'genog,' from PIE *nek- (to reach) — the '-ough' spelling preserves a lost guttural sound.
As much or as many as required; sufficient.
From Old English 'genōg' (sufficient, enough), from Proto-Germanic '*ganōgaz' (sufficient), from '*ga-' (collective prefix) + '*nōgaz,' related to '*naką' (to attain, to suffice), from PIE *nek- (to reach, to attain). Cognate with German 'genug,' Dutch 'genoeg,' Old Norse 'gnógr.' The spelling with '-ough' pronounced /ʌf/ is one of many remnants of the Old English velar fricative /x/, which also explains the odd
The '-ough' in 'enough' can be pronounced at least eight different ways in English: /ʌf/ (enough, tough), /oʊ/ (though, dough), /uː/ (through), /ɒf/ (cough), /ɔː/ (thought), /aʊ/ (bough, plough), /ʌp/ (hiccough), and /ək/ (borough). This chaos traces back to the Old English velar fricative /x/, which different dialects resolved differently as the sound disappeared from standard English.