c. 1300, from Old English genog "sufficient in quantity or number," from Proto-Germanic compound *ganog "sufficient" (source also of Old Saxon ginog, Old Frisian enoch, Dutch genoeg, Old High German ginuog, German genug, Old Norse gnogr, Gothic ganohs).
First element is Old English ge- "with, together" (also a participial, collective, intensive, or perfective prefix), making this word the most prominent surviving example of the Old English prefix, the equivalent of Latin com- and Modern German ge- (from PIE *kom- "beside, near, by, with;" see com-). Second element is from PIE *nok-, from root *nek- (2) "to reach, attain" (source also of Sanskrit asnoti "to reach," Hittite ninikzi "lifts, raises," Lithuanian nešti "to bear, carry," Latin nancisci "to obtain").
As an adverb, "sufficiently for the purpose," in Old English; meaning "moderately, fairly, tolerably" (good enough) was in Middle English. Understated sense, as in have had enough "have had too much" was in Old English (which relied heavily on double negatives and understatement). As a noun in Old English, "a quantity or number sufficient for the purpose." As an interjection, "that is enough," from c. 1600. Colloquial 'nough said is attested from 1839.