I think I have seen this implemented before and when it inserts the extra 'oo' it automatically ignores extra 'o's that might be typed. It allows for users to actually type Google, but also allows users to type 'Ggle' and get the same response.
"[G]" <- Typed
"[G]{oo}" <- Displayed in input, with Google/GoodReads as options
"[Goo]" <- Tab Pressed
"[GoodReads"] <- R Pressed
"[Google"] <- g pressed
"[Gx]" <- Any other character x
Then things like Chrome's url bar will fill in the complete first suggestion with a way to clear it which gives UX like: "[G]" <- Typed
"[G]{oogle}" <- Displayed
"[G]" <- Backspace pressed